zoukankan      html  css  js  c++  java
  • MVC3.0 不同view层,调用相同Controller方法,但参数不同


    在view 层中 跳转详细页面我们浏览数 加1。,但修改页面不需要加1,两者都是调用controller 中从DB中检索一条数据!

    在详细页面 :

      "InfoContent", "Activity", new { id = x.NOTICE_ID,browseNum="add" }

    在修改页面:

    // 修改
        function Modify(value)
        {
            location.href = '/Activity/InfoEdit?p_strNoticeID=' + value + '&browseNum=' +unadd;
        }

    最终在Repository 中

    Repository Code
    1 public ACT_NOTICE GetSingleActNotice(Guid p_Notice_ID ,string browseNum)
    2 {
    3
    4
    5 ACT_NOTICE notice = Single(x => x.NOTICE_ID == p_Notice_ID);
    6 if (browseNum == "add")
    7 {
    8 notice.BROWSE_NUM = notice.BROWSE_NUM + 1;
    9 }
    10
    11 SubmitChanges();
    12
    13 return notice;
    14 }


    个人总结:传参的思想,引申到通过传递不同参数控制显示内容的不同,例如之前做的同一个view层,在一个也没显示图片,另一个也没没有图片,我们可以在viewmodel中定义一个字段做标志

         /// <summary>
            /// 控制页面显示图片的参数
            /// </summary>
            public string showDiv { get; set; }

    在controller中

    Controller Code
    1 /// <summary>
    2 /// Index页面加载 公告信息list
    3 /// </summary>
    4 /// <returns></returns>
    5   public ActionResult List(int flag)
    6 {
    7 NoticeViewModel viewModel=new NoticeViewModel();
    8 viewModel=_noticeLogic.GetNotctForList();
    9
    10 //flag==1在index页面公告信息显示图片
    11 if (flag == 1)
    12 {
    13 viewModel.showDiv = "show";
    14 }
    15
    16 return PartialView("List", viewModel);
    17
    18 }

    这样就可以在 Index页面 传递参数
        <div class="news">
            @Html.Action("List", "Notice", new { flag = "1" })
        </div>

      而在另一页面所传递的参数不同。

    最终在View层,在加载页面时作出判断,是否加载带有图片的div的显示。

    @if (Model.showDiv == "show")

    {

            在index页面显示图片(参数1)

    }

    else

    {

    在其他页面不显示图片

    }

    还可以引申到viewBag 在controller 定义一个参数 传递在view层!

  • 相关阅读:
    ceph 高可用部署
    ceph安装
    openstack 命令
    ceph
    go test 怎么做测试
    govendor
    wrap 缓存。。。
    python中if __name__ == '__main__': 的解析
    pythton 字典的使用,字典的方法
    python 基础 如何让程序接收参数,最简单用sys.argv[]来获取
  • 原文地址:https://www.cnblogs.com/lei2007/p/2094377.html
Copyright © 2011-2022 走看看