Asp.net mvc 3 如何在asp.net mvc3应用程序中设置分页路由

Asp.net mvc 3 如何在asp.net mvc3应用程序中设置分页路由,asp.net-mvc-3,asp.net-mvc-routing,paging,asp.net-mvc-3-areas,Asp.net Mvc 3,Asp.net Mvc Routing,Paging,Asp.net Mvc 3 Areas,我已经在我的应用程序中设置了简单的分页系统,它使用nerddinner教程中的思想,使用分页列表类: public class PaginatedList<T> : List<T> { public int PageIndex {} public int PageSize {} public int TotalCount {} public int TotalPages {} p

我已经在我的应用程序中设置了简单的分页系统,它使用nerddinner教程中的思想,使用分页列表类:

   public class PaginatedList<T> : List<T>    {
        public int PageIndex {}
        public int PageSize {}
        public int TotalCount {}
        public int TotalPages {}

        public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize){}

        public bool HasPreviousPage {}

        public bool HasNextPage {}  }
但当我试图访问URL,比如/Admin/Mjesta/Page/2时,它仍然会抛出404错误

我的想法是首先在MapRouting中构建某种通用的分页条目,这样我就可以使用相同的局部视图对我有这种需要的每个列表呈现分页控件,但由于我无法使其工作,我尝试了这种更具体的方法,但我仍然无法让控制器对这个URL请求做出反应


有什么想法和/或建议吗?

你有其他url可以匹配的路线吗

   context.MapRoute(
        "pMjesta",
        "Admin/Mjesta/Page/{page}",
        new {controller = "Mjesta", action = "Index", page = "{page}"});
例如,如果您仍然具有默认区域布线:

context.MapRoute(
    "DefaultAreaRoute",
    "Admin/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = Url.Optional });

并且它列在您的新路由之前,您的首选url将首先匹配并使用此路由。

对于该url可能匹配的区域,您有其他路由吗

例如,如果您仍然具有默认区域布线:

context.MapRoute(
    "DefaultAreaRoute",
    "Admin/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = Url.Optional });

它列在新路由之前,首选url将首先匹配并使用此路由。

这是问题的解决方案,默认路由实际上与分页url匹配。这是问题的解决方案,默认路由实际上与分页url匹配。此外,if any1可以建议在何处寻找更优雅的解决方案,用于添加不使用JS但使用querystring保留值的分页和排序。此外,if any1可以建议在何处寻找更优雅的解决方案,用于添加不使用JS但使用querystring保留值的分页和排序。
context.MapRoute(
    "DefaultAreaRoute",
    "Admin/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = Url.Optional });