Dans asp.net MVC, la "page d'accueil" (c'est-à-dire l'itinéraire qui s'affiche lorsque vous frappez sur www.foo.com) est définie sur Accueil / Index.
- Où cette valeur est-elle stockée?
- Comment puis-je changer la "page d'accueil"?
- Y a-t-il quelque chose de plus élégant que d'utiliser RedirectToRoute () dans l'action Index du contrôleur domestique?
J'ai essayé de grepping pour Home / Index dans mon projet et je n'ai pas pu trouver de référence, ni rien voir dans IIS (6). J'ai regardé la page default.aspx à la racine, mais cela ne semblait rien faire de pertinent.
Merci
c#
asp.net-mvc
asp.net-mvc-routing
NikolaiDante
la source
la source
url: "{controller}/{action}/{id}"
. Donnez simplement des noms différents aux itinéraires.ASP.NET Core
Le routage est configuré dans la
Configure
méthode de laStartup
classe. Pour définir la "page d'accueil", ajoutez simplement ce qui suit. Cela entraînera le routage des utilisateurs vers le contrôleur et l'action définie dans la méthode MapRoute quand / s'ils naviguent vers l'URL de base de votre site, c'est-à-dire que yoursite.com dirigera les utilisateurs vers yoursite.com/foo/index:Pre-ASP.NET Core
Utilisez la méthode RegisterRoutes située dans App_Start / RouteConfig.cs (MVC 3 et 4) ou Global.asax.cs (MVC 1 et 2) comme indiqué ci-dessous. Cela entraînera le routage des utilisateurs vers le contrôleur et l'action définis dans la méthode MapRoute s'ils naviguent vers l'URL de base de votre site, c'est-à-dire que yoursite.com dirigera l'utilisateur vers yoursite.com/foo/index:
la source
Étape 1: Cliquez sur Fichier Global.asax dans votre solution.
Étape 2: Passez ensuite à la définition de
RouteConfig.RegisterRoutes(RouteTable.Routes);
Étape 3: Changer le nom du contrôleur et le nom de la vue
la source
la source
vérifiez la méthode RegisterRoutes dans global.asax.cs - c'est l'emplacement par défaut pour la configuration de l'itinéraire ...
la source
Routage d'attributs dans MVC 5
Avant MVC 5, vous pouviez mapper des URL à des actions et des contrôleurs spécifiques en appelant
routes.MapRoute(...)
le fichier RouteConfig.cs. C'est là que l'url de la page d'accueil est stockée (Home/Index
). Cependant, si vous modifiez l'itinéraire par défaut comme indiqué ci-dessous,gardez à l'esprit que cela affectera les URL d'autres actions et contrôleurs. Par exemple, si vous aviez une classe de contrôleur nommée
ExampleController
et une méthode d'action à l'intérieur de celle-ci appeléeDoSomething
, alors l'URL par défaut attendueExampleController/DoSomething
ne fonctionnera plus car la route par défaut a été modifiée.Une solution de contournement pour cela est de ne pas jouer avec la route par défaut et de créer de nouvelles routes dans le fichier RouteConfig.cs pour d'autres actions et contrôleurs comme ceci,
Maintenant, l'
DoSomething
action de laExampleController
classe sera mappée à l'urlhey/now
. Mais cela peut devenir fastidieux à faire chaque fois que vous souhaitez définir des itinéraires pour différentes actions. Ainsi, dans MVC 5, vous pouvez maintenant ajouter des attributs pour faire correspondre les URL aux actions comme ceci,la source
J'ai essayé la réponse mais cela n'a pas fonctionné pour moi. C'est ce que j'ai fini par faire:
Créez un nouveau contrôleur DefaultController. Dans l'action d'index, j'ai écrit une redirection de ligne:
Dans RouteConfig.cs, changez controller = "Default" pour la route.
la source
Si vous ne souhaitez pas changer de routeur, accédez simplement au HomeController et modifiez MyNewViewHere dans l'index comme ceci:
la source