Ho un difetto C# itinerari MVC:C# MVC di routing - percorsi multipli
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
Ora mi metterò URL del tipo:
mysite.com/Home/Index/Page1
mysite.com/Home/Index/Page2
mysite.com/Home/Index/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
Ma mi piacerebbe avere il primo set con una più breve url del tipo:
mysite.com/Page1
mysite.com/Page2
mysite.com/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
mi aspettavo il codice per essere veramente semplice come:
routes.MapRoute(
"Shorturl",
"{id}",
new { controller = "Home", action = "Index", id = "Welcome" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
Ma questo non funziona. Prenderà solo la prima via e dimenticherà la seconda. Come puoi fare in modo che il tuo programma esegua il primo percorso quando c'è un solo parametro (come mysite.com/Page1) e prendi il secondo percorso quando hai più percorsi (come mysite.com/Account/Login)?
Edit: posso fare:
routes.MapRoute("Short", "short/{id}", new { controller = "Home", action = "Indx", id = "Page1" });
Ma allora avrei una brutta "corto /" nell'URL. posso risolvere il problema con:
routes.MapRoute("Page1", "Page1", new { controller = "Home", action = "Index", id = "Page1" });
Ma poi ho bisogno di aggiungere ogni nuova pagina manualmente ...
http://stackoverflow.com/questions/2975642/routing-in-asp-net-mvc-2-0 – CodeCaster