Como você lida com um número variável de rotas MVC?
-
03-07-2019 - |
Pergunta
I note que este bit intrigante em ASP.NET MVC:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Eu gostaria de mapear {* pathInfo} em uma rota.
Algo como:
routes.MapRoute(
"area/{*pathInfo}",
"{controller}/{action}/{id}",parameters
new { controller = "Area", action = "Index", id = ??? }
);
mas como faço para passar na variável "foo / bar / rab / oof" de mydomain.com/area/foo/bar/rab/oof? Quer passar todo o pouco como uma string ou como uma coleção seria bom para mim.
Obrigado!
Solução
versão
Qual MVC você está usando? O nome da rota deve ser o primeiro parâmetro para MapRoute () como eu me lembro no MCV Beta. De qualquer forma, dado o seu objetivo de capturar o caminho, eu faria s / t como:
routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"} );
E no controlador Área:
// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)
{
...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow