【发布时间】:2013-09-16 21:02:42
【问题描述】:
我是 MVC 4 的初学者。我有一个网址 ../Home/NameDetailsPage/20,其中 controller= Home,action=NameDetailsPage 和 pageIndex= 20。我如何为这个 url 编写路由引擎?
routes.MapRoute(
......
.....
);
在控制器中,NameDetailsPage 可以很好地用于默认页面,例如 int page=2 :-
public ActionResult NameDetailsPage(int? page)
{
var context = new BlogContext();
IQueryable<string> list;
list = from m in context.Blogs.OrderBy(m => m.BlogId)
select m.Name;
ViewBag.total = list.ToArray().Length;
ViewBag.page = page;
var pageNumber = page ?? 1;
ViewBag.page1 = pageNumber;
return View("NameDetails", list.Skip(pageNumber * 4).Take(4));
}
但无论 url 中的 pageIndex 是什么,pageNumber 始终为 1。所以它对所有 pageIndex 显示相同的结果。如何设置 pageNumber 不是 1。在此先感谢。
【问题讨论】:
-
你试过什么路由?您发现什么与您的预期不同?
-
routes.MapRoute( name: "Page", url: "Home/NameDetailsPage/{id}", 默认值: new { controller = "Home", action = "NameDetailsPage", id = UrlParameter。可选 } );
标签: asp.net asp.net-mvc-4 asp.net-mvc-routing