MVC3 :: Usar global.asax para dirigir un controlador/acción específico a un controlador/acción diferente
Frecuentes
Visto 1,402 veces
1
En una aplicación MVC3, tengo una vista en el controlador de mi hogar a la que se accede a través de la siguiente URL:
http://mysite.com/home/mycontent
Sin embargo, mi usuario quiere acceder a través de:
http://mysite.com/mycontent (sin una referencia específica al controlador doméstico)
Intenté modificar mi global.asax con lo siguiente:
routes.MapRoute(
"MyContent", // Route name
"MyContent", // URL with parameters
new { controller = "Home", action = "MyContent"} // Parameter defaults
);
Pero recibo errores 404 cuando trato de usarlo. ¿Hay alguna manera de lograr lo que mi usuario quiere hacer: redirigir una URL a un par de controlador/vista específico?
2 Respuestas
2
Creo que deberías mantener algunos "parámetros":
routes.MapRoute(
"MyContent", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults
);
contestado el 03 de mayo de 12 a las 17:05
1
¿En qué orden están registradas sus rutas? Esa ruta debe venir antes de su ruta predeterminada.
P.ej
routes.MapRoute(
"MyContent", // Route name
"MyContent", // URL with parameters
new { controller = "Home", action = "MyContent"} // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);
De lo contrario, debería funcionar... Tengo rutas definidas exactamente igual que eso.
contestado el 03 de mayo de 12 a las 17:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas asp.net-mvc-3 routes or haz tu propia pregunta.
Lo siento... pero sigue el mismo problema. - andy evans
¿Define algunas otras rutas (puede ser una predeterminada)? - fmgp
NvrMind... Lo tengo... Lo descubrí y usé "MyContent" en lugar de "{action}/{id}" - andy evans