【发布时间】:2010-07-24 12:50:00
【问题描述】:
我目前正在使用 ASP.NET 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 个类别,路由表中的“路由”是否太多?您会建议其他解决方案吗?
谢谢。
问候, 安泽
【问题讨论】:
标签: asp.net-mvc-2 c#-4.0 url-routing