¿Cómo agregar un prefijo a todas las acciones con el enrutamiento de URL ASP.Net MVC?
-
08-07-2019 - |
Pregunta
Estoy tratando de escribir una llamada de MapRoute que haga cualquier ruta que tenga el prefijo "json /" anteponer " json " al nombre de la acción. Por ejemplo, una ruta similar a esta:
"json/{controller}/{action}"
con " json / Foo / Bar " ;, debería resultar en:
controller = "Foo"
action = "jsonBar"
¿Alguna idea?
Solución
Me pregunto si no sería mejor incluir json en los datos de la ruta y buscarlo en la acción. es decir, al mapear su ruta, use algo como (para los valores predeterminados):
new { mode="json", controller = "Home", action = "Index", id = "" }
o mapear la ruta como:
"{mode}/{controller}/{action}"
luego acceda a esto en el controlador:
string mode = (string) RouteData.Values["mode"];
(o pasarlo como argumento)
Aparte de eso, podría escribir su propio controlador de ruta, pero eso es mucho trabajo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow