6
我目前正在使用ASP.NET MVC 2.0开发电子商店。我已经完成了大部分工作,但是一直困扰着我的部分是路由。我想这一点:MVC 2.0电子商店中类别名称的动态路由
http://mystore.somewhere/my-category-1/
到目前为止,我已经能够通过使用来解决它:
routes.MapRoute(
"Category",
"{alias}/{pageNumber}",
new { controller = "Categories", action = "Browse", pageNumber = 1 });
但这捕捉比想正是我太多。
通过围绕这个站点的一些问题和答案看完后,我发现了一个有趣的格外的解决方案,需要我以编程方式注册我的每个类别的路线,所以在本质上我会做
foreach (var c in Categories)
{
routes.MapRoute(
c.Name,
"{" + c.Alias + "}/{action}/...anything else",
new { controller = "Category", action = "Index" }).RouteHandler = new CateegoryRouteHandler(c);
}
您怎么看?这是一个好主意吗?我可能会有大约200个类别,路由表中是否有太多“路由”?你会建议另一种解决方案?
谢谢。
问候, 安泽
太好了!这就像一个魅力!不知道路线限制。非常感谢! – 2010-07-24 13:32:09
你好@tvanfosson,如果有5万个类别,性能如何?据我所知有一个路由表缓存或类似的东西,但在任何情况下,它从数据库检查。 – 2014-01-14 13:46:27