Pergunta

Eu sei que este site foi escrito usando ASP.Net MVC e não vejo "/Home" no URL.Isso me prova que isso pode ser feito.Qual rota especial e eu preciso?

Foi útil?

Solução

Basta alterar "Home" para uma string vazia.

routes.MapRoute(
    "Home",
    "",
    new { action = Index, controller = Home }
);

Outras dicas

Se você estiver executando no IIS 7, poderá simplesmente excluir o arquivo Default.aspx que vem com o ASP.NET MVC (supondo que você esteja executando no Preview 3 ou superior).Esse arquivo foi necessário devido a um problema com o Cassini que foi corrigido no .NET 3.5 SP1.Para mais detalhes confira:

http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspxehttp://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx

Na verdade, gosto de ter todos os meus métodos de controlador doméstico na raiz do site.Assim:/sobre, /contato, etc.Acho que sou exigente.Eu uso uma restrição de rota simples para fazer isso. Aqui está minha postagem no blog com um exemplo de código.

eu adicionaria

routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });

em RouteConfig.cs

Foi isso que fiz para me livrar de Home.Ele tratará todas as rotas com apenas um especificador como Home/Action e qualquer rota com dois como Controller/Action.A desvantagem é que agora o controlador precisa ter um índice explícito (/Controller! = /Controller/Index), mas pode ajudar você ou outras pessoas.

routes.MapRoute(
    "Default",
    "{action}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Actions",
    "{controller}/{action}",
    new { }
);

No IIS 7, você pode simplesmente excluir o arquivo Default.aspx que vem com o ASP.NET MVC (supondo que você esteja executando o Preview 3 ou superior).Esse arquivo foi necessário devido a um problema com o Cassini que foi corrigido no .NET 3.5 SP1.

Para mais detalhes confira:

Próximas mudanças no roteamento e .NET 3.5 SP1 Beta e seu efeito no MVC

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top