Ich habe in den letzten Monaten an einer großen MVC-Anwendung gearbeitet, aber dies ist das erste Mal, dass ich einen benutzerdefinierten Routen-Handler definieren musste, und ich stoße auf einige Probleme. Grundsätzlich muss ich zwei Parameter übergeben. Der erste ist erforderlich und der zweite ist optional.ASP.NET MVC-Routing mit einem obligatorischen Parameter und einem optionalen Parameter?
Ich befolge diese Antwort here.
Hier ist meine individuelle Route:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
Und meine Aktionsmethode Signatur:
public ActionResult MyAction(string param1, string param2)
Wenn ich die URL versuchen http://[myserver]/MyController/MyAction/Test1/Test2
dann funktioniert es, wie ich es zu, mit param1 = „Test1 erwarten "und param2 =" Test2 "
Wenn ich die URL http://[myserver]/MyController/MyAction/Test1
versuche, dann sind beide Parameter null.
Hoffentlich kann mir jemand sagen, was ich falsch mache, weil ich verloren bin.
Hallo aus der Zukunft - versuchen nun Routing-Attribut - WEGE WAY einfacher und weniger fehleranfällig. – niico