用于分页和日期的 mvc 路由
mvc routing for pagination and dates
我有一个路由系统,可以不传递日期或带页码的日期。
routes.MapRoute(
name: "ArticlesArchiveFilter",
url: "Article/Archive/{searchDate}/{pageNumber}",
defaults: new { controller = "Article", action = "Archive", searchDate = UrlParameter.Optional, pageNumber = "" }
);
routes.MapRoute(
name: "ArticlesArchiveBasic",
url: "Article/Archive/{pageNumber}",
defaults: new { controller = "Article", action = "Archive", pageNumber = "" }
);
我的问题是,当传递 url 时,带有日期时间和页码的 url 路由可以工作,但没有日期时间就不行,因为页码始终默认为 1。
我的控制器看起来像这样...
public ActionResult Archive(DateTime? searchDate, int pageNumber = 1)
{
ArticleListViewModel model = new ArticleListViewModel();
model = new ArticlePageManager().Filter(searchDate, pageNumber: pageNumber).MapToList();
return View(model);
}
有人知道我该如何解决这个问题吗?
试着改变你的路线。
routes.MapRoute(
name: "ArticlesArchiveFilter",
url: "Article/Archive/{pageNumber}/{searchDate}",
defaults: new { controller = "Article", action = "Archive", searchDate = UrlParameter.Optional, pageNumber = "" }
);
我有一个路由系统,可以不传递日期或带页码的日期。
routes.MapRoute(
name: "ArticlesArchiveFilter",
url: "Article/Archive/{searchDate}/{pageNumber}",
defaults: new { controller = "Article", action = "Archive", searchDate = UrlParameter.Optional, pageNumber = "" }
);
routes.MapRoute(
name: "ArticlesArchiveBasic",
url: "Article/Archive/{pageNumber}",
defaults: new { controller = "Article", action = "Archive", pageNumber = "" }
);
我的问题是,当传递 url 时,带有日期时间和页码的 url 路由可以工作,但没有日期时间就不行,因为页码始终默认为 1。
我的控制器看起来像这样...
public ActionResult Archive(DateTime? searchDate, int pageNumber = 1)
{
ArticleListViewModel model = new ArticleListViewModel();
model = new ArticlePageManager().Filter(searchDate, pageNumber: pageNumber).MapToList();
return View(model);
}
有人知道我该如何解决这个问题吗?
试着改变你的路线。
routes.MapRoute(
name: "ArticlesArchiveFilter",
url: "Article/Archive/{pageNumber}/{searchDate}",
defaults: new { controller = "Article", action = "Archive", searchDate = UrlParameter.Optional, pageNumber = "" }
);