我有一个路由系统,可以不传递日期,也可以传递带有页码的日期。
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 = "" }
);