No asp.net MVC, a "página inicial" (ou seja, a rota exibida ao acessar www.foo.com) é definida como Home / Index.
- Onde esse valor está armazenado?
- Como posso mudar a "página inicial"?
- Existe algo mais elegante do que usar RedirectToRoute () na ação Index do controlador doméstico?
Tentei usar o grep para Home / Index em meu projeto e não consegui encontrar uma referência, nem vi nada no IIS (6). Eu olhei para a página default.aspx na raiz, mas isso não parecia fazer nada relevante.
obrigado
c#
asp.net-mvc
asp.net-mvc-routing
NikolaiDante
fonte
fonte
url: "{controller}/{action}/{id}"
. Basta dar nomes diferentes às rotas.ASP.NET Core
O roteamento é configurado no
Configure
método daStartup
classe. Para definir a "página inicial", basta adicionar o seguinte. Isso fará com que os usuários sejam roteados para o controlador e a ação definida no método MapRoute quando / se eles navegarem para a URL base do seu site, ou seja, yoursite.com direcionará os usuários para yoursite.com/foo/index:Pre-ASP.NET Core
Use o método RegisterRoutes localizado em App_Start / RouteConfig.cs (MVC 3 e 4) ou Global.asax.cs (MVC 1 e 2) conforme mostrado abaixo. Isso fará com que os usuários sejam roteados para o controlador e a ação definida no método MapRoute se eles navegarem para a URL base do seu site, ou seja, seusite.com direcionará o usuário para seusite.com/foo/index:
fonte
Etapa 1: Clique no arquivo Global.asax em sua solução.
Etapa 2: vá para a definição de
RouteConfig.RegisterRoutes(RouteTable.Routes);
Etapa 3: alterar o nome do controlador e visualizar o nome
fonte
fonte
verifique o método RegisterRoutes em global.asax.cs - é o local padrão para a configuração da rota ...
fonte
Roteamento de Atributo em MVC 5
Antes do MVC 5, você podia mapear URLs para ações e controladores específicos chamando
routes.MapRoute(...)
o arquivo RouteConfig.cs. É aqui que o url da página inicial é armazenado (Home/Index
). No entanto, se você modificar a rota padrão conforme mostrado abaixo,tenha em mente que isso afetará os URLs de outras ações e controladores. Por exemplo, se você tiver uma classe de controlador nomeada
ExampleController
e um método de ação dentro dela chamadoDoSomething
, então o url padrão esperadoExampleController/DoSomething
não funcionará mais porque a rota padrão foi alterada.Uma solução alternativa para isso é não mexer com a rota padrão e criar novas rotas no arquivo RouteConfig.cs para outras ações e controladores como este,
Agora a
DoSomething
ação daExampleController
classe será mapeada para a urlhey/now
. Mas isso pode ser entediante para cada vez que você deseja definir rotas para ações diferentes. Então, no MVC 5 você pode agora adicionar atributos para combinar urls com ações como,fonte
Tentei a resposta, mas não funcionou para mim. Isso é o que acabei fazendo:
Crie um novo controlador DefaultController. Na ação de índice, escrevi um redirecionamento de linha:
Em RouteConfig.cs, altere controller = "Default" para a rota.
fonte
Se você não deseja alterar o roteador, basta ir ao HomeController e alterar MyNewViewHere no índice assim:
fonte