首页 新闻 搜索 专区 学院

mvc3中如何共用一个视图?

0
悬赏园豆:5 [已解决问题] 解决于 2013-04-08 14:44
 public ViewResult Index(int? page)
        {
            const int pageSize = 10;

          
            var list = new PagerHelper<Brand>(repository.GetList(), page ?? 0, pageSize);

            return View(list);

        }

        public ViewResult AdminSearch(string q, int? page)
        {
            const int pageSize = 10;
            q = HttpUtility.HtmlEncode(q);
            var list = repository.FindAllByText(q);

            var results = new PagerHelper<Brand>(list, page ?? 0, pageSize);
            ViewBag.Keyword = q;
            return View(results);
        }


比如上面的AdminSearch,没必要单为它建立一个AdminSearch.cshtml,要显示的结果和Index.cshtml是一样的。

红尘中迷茫的主页 红尘中迷茫 | 初学一级 | 园豆:60
提问于:2013-04-03 15:02
< >
分享
最佳答案
0

本身就有这个重载 ViewResult View(string viewName, object model);

收获园豆:5
geass.. | 小虾三级 |园豆:1819 | 2013-04-03 15:42

这样只能写硬编码,没有其他方法?

红尘中迷茫 | 园豆:60 (初学一级) | 2013-04-03 16:57
其他回答(1)
0

两个方案。

1.建一个PartialView, 让两者都返回它。

return PartialView("blah.cshtml");

2.各反回各自的View,另外在新建一个共用的View 假设也叫blah.cshtml,在他们两个的View里面展示这个共用的View

ASP:<%=Html.RenderPartial("blah");%>

Razor:@{Html.RenderPartial("blah");}

刘哇勇 | 园豆:151 (初学一级) | 2013-04-03 21:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册