1
我已經設置了路由通過允許URL格式允許搜索引擎優化(和人類)友好的URL ~/{category}/{title}
ASP NET MVC3路由通過枚舉
所有的路由經過其中有一種方法,內容控制器適當重定向。我也想要允許~/{category}
這將帶你到一個過濾索引。
所有這一切都利用工作對我來說:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Category And Title", // Route name
"{category}/{title}", // URL with parameters
new { controller = "Content", action = "SeoRouting", title = UrlParameter.Optional }, // Parameter defaults
new { category = "People|IT|Personnel|Finance|Procedures|Tools"}
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
}
但如果再類別改變,我需要改變他們在兩個地方。在Global.asax和enum中我們有類別。
在理想世界中,如果路徑的第一部分中的值與ContentCategory枚舉相匹配(不區分大小寫),並且默認路由不匹配,那麼我會使用第一條路徑。
這些類別將很少發生變化,所以這不是一件大事,但如果覺得它應該是可能的。
這就是問題,看起來像答案 - brillog! –