Ja obecnie pracuje na asp.net mvc 4 wniosku i mam potrzebę poniższej rodzaju adresów URL:ASP.NET MVC 4 trasa login/akcja problem
adresy URL, które powinny być kierowane
Problem mam jest to, że obecnie {username} dostaje traktowane jako działanie tak obejść problem zaimplementowałem następujące trasy, ale to oznaczałoby, że za każdym razem, gdy chcę zaimplementować nową akcję lub kontroler, który potrzebuje {username}, musiałbym zaktualizować moje trasy:
tylko trasy Foo pokazano
routes.MapRoute("FooSomeAction", "foo/someaction", new { controller = "Food", action = "SomeAction" });
routes.MapRoute("FooDelete", "foo/delete/{id}", new { controller = "Food", action = "Delete" });
routes.MapRoute(
"FooProfile",
"foo/{username}",
new { controller = "Foo", action = "Index", username = "" }
);
// Default route
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
2 pytania
1) Czy istnieje jakiś sposób mogę osiągnąć powyższe adresy URL bez hardcoding wszystkie szlaki?
2) Jaki jest najlepszy sposób radzenia sobie z sytuacją, w której ktoś używa nazwy użytkownika, która ma taką samą nazwę jak kontroler lub nazwa działania?
DotnetShadow
Twoje drugie pytanie, o ile wiem, nie jest możliwe. Co jest złego w tym, że tam też jest akcja? – mattytommo
Co jest złego w tym, że tam też jest akcja? - Przepraszam, Co miałeś na myśli przez to? – DotnetShadow
Przepraszam, jeśli byłem niejasny, mam na myśli to, że możliwe jest, że nazwa działania i kontrolera będą obecne w linku? Coś jak/User/Edit/User1? – mattytommo