Set “page d'Accueil” dans Asp.Net MVC
Dans asp.net MVC la "page d'accueil" (c'est à dire la route qui s'affiche lors de la frappe www.foo.com) est mis à Home/Index .
- Où est cette valeur est stockée?
- Comment puis-je changer la "page d'accueil"?
- Est-il rien de plus élégant que d'utiliser RedirectToRoute() dans l'action Index du contrôleur de la maison?
J'ai essayé grepping pour la Maison/l'Index dans mon projet et je ne pouvais pas trouver une référence, ni ai-je pu voir quoi que ce soit dans IIS (6). J'ai regardé la valeur par défaut.page aspx dans la racine, mais qui ne semblent pas faire quelque chose pertinents.
Grâce
Vous devez vous connecter pour publier un commentaire.
Regarder la
Default.aspx/Default.aspx.cs
et le Global.asax.csVous pouvez configurer une route par défaut:
Il suffit de changer l'Action de Contrôleur de noms par défaut de votre choix. Qui devrait être le dernier de la route dans la Table de Routage.
url: "{controller}/{action}/{id}"
. Donner les itinéraires des noms différents.ASP.NET Core
De routage est configuré dans le
Configure
méthode de laStartup
classe. Pour définir la "page d'accueil" il suffit d'ajouter le suivant. Cela va entraîner des utilisateurs afin d'être acheminés vers le contrôleur et l'action définie dans la méthode MapRoute quand/si ils accèdent à votre site, l'URL de base, c'est à dire, yoursite.com route les utilisateurs à yoursite.com/foo/index:Pre-ASP.NET Core
Utiliser le RegisterRoutes méthode situé dans App_Start/RouteConfig.cs (MVC 3 et 4) ou Global.asax.cs MVC (1 et 2) comme indiqué ci-dessous. Cela va entraîner des utilisateurs afin d'être acheminés vers le contrôleur et l'action définie dans la méthode MapRoute si ils accèdent à votre site, l'URL de base, c'est à dire, yoursite.com route à l'utilisateur de yoursite.com/foo/index:
Étape 1: Cliquez sur le Mondial.asax Fichier dans votre Solution.
Étape 2: Ensuite, Allez à la Définition de
RouteConfig.RegisterRoutes(RouteTable.Routes);
Étape 3: Modifier le Nom du Contrôleur et le Nom de la Vue
vérifier RegisterRoutes méthode globale.asax.cs - c'est l'endroit par défaut pour la route de la configuration...
Attribut de Routage dans MVC 5
Avant MVC 5, vous pouvez mapper des Url à des actions spécifiques et des contrôleurs en appelant
routes.MapRoute(...)
dans le RouteConfig.cs fichier. C'est là que l'url de la page d'accueil est stocké (Home/Index
). Toutefois, si vous modifiez l'itinéraire par défaut comme indiqué ci-dessous,gardez à l'esprit que cela va affecter l'Url d'autres actions et de contrôleurs. Par exemple, si vous avez un contrôleur de classe nommée
ExampleController
et une méthode d'action à l'intérieur d'elle appeléDoSomething
, puis attendus de l'url par défautExampleController/DoSomething
ne fonctionne plus parce que la route par défaut a été modifié.Une solution pour cela est de ne pas salir avec la route par défaut et créer de nouvelles voies dans le RouteConfig.cs fichier pour d'autres actions et de contrôleurs comme,
Maintenant la
DoSomething
action de laExampleController
classe sera associé à l'urlhey/now
. Mais cela peut devenir fastidieux à faire à chaque fois que vous voulez définir des itinéraires pour les différentes actions. Donc, en MVC 5, vous pouvez maintenant ajouter des attributs à des url à des actions comme si,J'ai essayé de répondre mais ça n'a pas fonctionné pour moi. C'est ce que j'ai fait:
Créer un nouveau contrôleur DefaultController. Dans l'index de l'action, j'ai écrit une seule ligne de redirection:
Dans RouteConfig.cs, changement controller="par Défaut" pour la route.
Si vous ne souhaitez pas changer de routeur, il suffit d'aller à la HomeController
et le changement MyNewViewHere dans l'index comme ceci: