diesesRouting Config-Problem kann nicht
http://localhost:51095/Person // This is equivalent to this one Person/Index
http://localhost:51095/Person/Allan
ich ein Setup Route Config für seine URL Gegeben aufgelöst werden, wie folgt:
routes.MapRoute(
"Person",
"Person/{personName}",
new { controller = "Person", action = "Person", personName = UrlParameter.Optional }
)
;
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Erste URL der Default
Route folgen sollte und der zweite sollte die Person
folgen Route.
Das funktioniert nicht, weil die erste Konfiguration
Entfernen Sie 'personName = UrlParameter.Optional' Dies führt jedoch wahrscheinlich zu anderen Problemen, wenn Sie eine Aktionsmethode in' PersonController' mit Ausnahme von 'Index()' und 'Person()' haben, außer Sie erstellen eine spezifische Route für alle andere Methoden –
@ StephenMuecke genau, aber wie kann ich das tun? Soll ich eine Route-Annotation verwenden? Mein Plan ist, nur die Regel in bestimmten Aktionen anzuwenden, aber einige Methoden werden davon betroffen. – Sherlock
Das hängt möglicherweise davon ab, welche anderen Methoden in 'PersonController' enthalten sind. Ändert es sich mit '/ People/Allan'? –