Ich arbeite derzeit an einem E-Store mit ASP.NET MVC 2.0. Ich habe das meiste schon aufgebaut, aber der Teil, der mich gestört hat, ist das Routing. Ich möchte dies:MVC 2.0 dynamisches Routing für Kategorienamen in einem E-Store
http://mystore.somewhere/my-category-1/
Bisher habe ich in der Lage gewesen, es zu lösen, indem sie mit:
routes.MapRoute(
"Category",
"{alias}/{pageNumber}",
new { controller = "Categories", action = "Browse", pageNumber = 1 });
Aber das fängt viel zu viel, als genau das, was Ich mag würde. so im Wesentlichen
Nach etwa dieser Seite durch einige Fragen und Antworten zu lesen, fand ich eine besonders interessante Lösung, die mich programmatisch eine Route für jedes meiner Kategorien registrieren erfordern würde, würde ich
foreach (var c in Categories)
{
routes.MapRoute(
c.Name,
"{" + c.Alias + "}/{action}/...anything else",
new { controller = "Category", action = "Index" }).RouteHandler = new CateegoryRouteHandler(c);
}
tun
Was denkst du? Ist das eine gute Idee? Ich werde wahrscheinlich etwa 200 Kategorien haben, sind das zu viele "Routen" in der Routing-Tabelle? Würden Sie eine andere Lösung vorschlagen?
Danke.
Regards, Anže
Oh großartig! Das hat genau wie ein Charme funktioniert! Ich wusste nichts über die Einschränkungen der Route. Danke vielmals! –
Hallo @tvanfosson, was ist mit der Leistung, wenn es 50K Kategorien gibt. Soweit ich weiß, gibt es eine Routentabellen-Caching oder etwas ähnliches, aber auf jeden Fall überprüft es von db. –