ich zur Zeit auf einer asp.net MVC 4 Applikation arbeite, und ich habe die Notwendigkeit für die folgenden Arten von Urls:ASP.NET MVC 4 route Benutzername/Aktion Problem
Urls, die verlegt werden müssen
Das Problem, das ich habe, ist, dass zur Zeit {username} als eine Aktion behandelt wird so zu Umgehung des Problems Ich habe die folgenden Routen implementiert, aber dies würde bedeuten, dass ich jedes Mal, wenn ich eine neue Aktion implementieren oder einen Controller verwenden möchte, der {username} benötigt, meine Routen aktualisieren muss:
Nur Foo Routen
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 Fragen
1) Gibt es eine Möglichkeit gezeigt ich die oben Urls ohne hartzucodieren alle Routen erreichen können?
2) Wie kann man am besten mit einer Situation umgehen, in der jemand einen Benutzernamen verwendet, der zufällig der gleiche Name wie ein Controller oder Aktionsname ist?
DotnetShadow
Ihre zweite Frage, soweit ich weiß, ist nicht möglich. Was ist so schlimm daran, die Action auch dort zu haben? – mattytommo
Was ist so schlimm daran, die Action auch dort zu haben? - Entschuldigung, was meintest du damit? – DotnetShadow
Entschuldigung, wenn ich vage war, ich meine, ist es möglich, dass Sie den Namen der Aktion und des Controllers im Link haben können? So etwas wie/Benutzer/Bearbeiten/Benutzer1? – mattytommo