MVC 3 Como utilizar MapRoute
Alguém me pode mostrar como usar o método MapRoute? Tentei criar as minhas próprias rotas, mas não está a funcionar. O que eu quero realizar é uma rota que rotas "http://servername/home/default.aspx "no controlador" Home "e ação"Default". Além disso, seria possível dizer que se o usuário está navegando o padrão.aspx "file", na verdade apontaria para a ação" Index"?
Tentei ler as referências MSDN e pesquisar no Google, mas não me fez nenhum. sensato.
4
Author: Anton Gildebrand, 2011-06-22
3 answers
A rota que deseja configurar a primeira parte da sua pergunta é:
routes.MapRoute(
"",
"home/default.aspx",
new { controller = "Home", action = "Default" }
);
Assumindo que deseja 'navegar' por omissão.aspx com algum tipo de parâmetro você pode fazer algo como:
routes.MapRoute(
"",
"home/default.aspx/{param}",
new { controller = "Home", action = "Default", param = UrlParameter.Optional }
);
E você teria de criar a sua acção predefinida para aceitar o String param.
4
Author: Antonio Haley, 2011-06-22 12:41:52
Provavelmente tarde demais para ajudar o desenvolvedor que levantou a questão, mas pode ajudar outra pessoa. Novo para MVC, mas o que eu encontrei é que as rotas do mapa parecem ser processadas na ordem que são adicionados. Eu tive um problema semelhante, minha rota específica não estava funcionando até que eu comecei a adicionar a rota padrão como a última rota.
Se a rota predefinida do mapa for adicionada antes da sua personalizada e o seu URL personalizado corresponder à estrutura definida pela rota predefinida do mapa, nunca irá atingir a sua rota personalizada roto.
7
Author: Darren Hughes, 2011-09-21 07:09:59
Você também tem que se certificar de que o nome do parâmetro é o mesmo que o nome do parâmetro da ação. Exemplo:
routes.MapRoute(
name: "MyName",
url: "{controller}/{action}/{myParam}",
defaults: new { controller = "MyController", action = "MyAction", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
MyController:
public ActionResult MyAction(string myParam = "")
{
}
0
Author: live-love, 2014-06-11 16:30:26