Como adicionar um prefixo para todas as ações com ASP.Net MVC URL roteamento?
-
08-07-2019 - |
Pergunta
Eu estou tentando escrever uma chamada MapRoute que vai fazer qualquer rota que é prefixado com "json /" preceder "json" para o nome da ação. Por exemplo, uma rota algo como isto:
"json/{controller}/{action}"
com "json / Foo / Bar", que deve resultar em:
controller = "Foo"
action = "jsonBar"
Todas as idéias?
Solução
Eu me pergunto se não seria melhor incluir json na Rota-dados e procurá-lo na ação? ou seja, ao mapear sua rota, uso algo como (para os padrões):
new { mode="json", controller = "Home", action = "Index", id = "" }
ou mapear a rota como:
"{mode}/{controller}/{action}"
, em seguida, acessar esta no controlador:
string mode = (string) RouteData.Values["mode"];
(ou passá-lo como um argumento)
Além disso, você poderia escrever sua própria rota-manipulador, mas isso é um monte de trabalho.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow