格式:www.xxx.com/news/c2-1
news是controller,2是分类的id,1是当前页数。我的问题是路由怎么写,如何对应上action?
代码如下:
public ViewResult Category(int cid,int? page)
{ const int pageSize = 10;
var list = newsRepository.GetList(cid);
var news = new PagerHelper<News>(list, page ?? 0, pageSize);
return View(news);
}
在Global.asax中 配置 修改或重建一个路由
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "news", action = "Category", id = UrlParameter.Optional } // Parameter defaults ); }
我知道要配置路由,但是routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "news", action = "Category", id = UrlParameter.Optional } // Parameter defaults );不能匹配上 /news/c2-1 这种url