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是一样的。
本身就有这个重载 ViewResult View(string viewName, object model);
这样只能写硬编码,没有其他方法?
两个方案。
1.建一个PartialView, 让两者都返回它。
return PartialView("blah.cshtml");
2.各反回各自的View,另外在新建一个共用的View 假设也叫blah.cshtml,在他们两个的View里面展示这个共用的View
ASP:<%=Html.RenderPartial("blah");%>
Razor:@{Html.RenderPartial("blah");}