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