He estado trabajando en una gran aplicación MVC durante el último mes, pero esta es la primera vez que necesito definir un controlador de ruta personalizado, y tengo algunos problemas. Básicamente tengo dos parámetros para pasar. El primero es obligatorio y el segundo es opcional.Enrutamiento ASP.NET MVC con un parámetro obligatorio y un parámetro opcional?
Yo sigo a esta respuesta here.
Aquí es mi ruta personalizada:
routes.MapRoute(
"MyRoute",
"{controller}/{action}/{param1}/{param2}",
new {
controller = "MyController",
action = "MyAction",
param1 = "",
param2 = "" // I have also tried "UrlParameter.Optional" here.
}
);
Y mi método de acción firma:
public ActionResult MyAction(string param1, string param2)
Si trato de la URL http://[myserver]/MyController/MyAction/Test1/Test2
entonces funciona como espero que, con param1 = "Prueba1 "y param2 =" Test2 "
Si pruebo la URL http://[myserver]/MyController/MyAction/Test1
, entonces ambos parámetros son nulos.
Espero que alguien pueda decirme qué estoy haciendo mal aquí, porque estoy perdido.
Hola desde el futuro - tratar de atribuir enrutamiento ahora - manera de la manera más fácil y menos propenso a errores – niico