Ho lavorato a un'applicazione MVC di grandi dimensioni negli ultimi mesi o giù di lì, ma questa è la prima volta che ho bisogno di definire un gestore di route personalizzato e sto riscontrando alcuni problemi. Fondamentalmente ho due parametri da passare. Il primo è richiesto e il secondo è facoltativo.Routing ASP.NET MVC con un parametro obbligatorio e un parametro facoltativo?
Sto seguendo questa risposta here.
Ecco il mio percorso personalizzato:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
E il mio metodo di azione firma:
public ActionResult MyAction(string param1, string param2)
Se provo l'URL http://[myserver]/MyController/MyAction/Test1/Test2
allora funziona come mi aspetto che, con param1 = "Test1 "e param2 =" Test2 "
Se provo l'URL http://[myserver]/MyController/MyAction/Test1
, entrambi i parametri sono nulli.
Speriamo che qualcuno possa dirmi cosa sto facendo male qui, perché sono perso.
Hi dal futuro - provare attribuire instradamento ora - WAY modo più semplice e meno incline agli errori. – niico