107 votes

Comment définir le contrôleur par défaut dans asp.net MVC 4 & MVC 5

Comment définir le contrôleur par défaut pour mon projet ASP.NET MVC 4 sans le rendre HomeController ?

Comment dois-je configurer une zone par défaut au démarrage de l'application?

168voto

Dave A Points 13355

Le meilleur moyen est de changer votre itinéraire. La route par défaut (définie dans votre App_Start) définit /Home/Index

 routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters*
        new { controller = "Home", action = "Index", 
        id = UrlParameter.Optional }
);
 

comme page d'arrivée par défaut. Vous pouvez changer cela pour n’importe quel itinéraire que vous souhaitez.

 routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters*
        new { controller = "Sales", action = "ProjectionReport", 
        id = UrlParameter.Optional }
);
 

31voto

Nimesh Points 91

Jeu de code ci-dessous dans RouteConfig.cs dans App_Start dossier

public static void RegisterRoutes(RouteCollection routes)
{
 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
 routes.MapRoute(
 name: "Default",
 url: "{controller}/{action}/{id}",
 defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional });
}

SI ne fonctionne toujours pas alors ne les étapes ci-dessous

Deuxième Façon : Vous simple, suivez les étapes ci-dessous,

1) faire un clic Droit sur votre projet solution

2) Sélectionnez La Propriété

3) Sélectionnez l'option Web, puis Sélectionnez une Page Spécifique (Contrôleur/Vue) et ensuite configurer votre page de connexion

Ici, le Compte est mon contrôleur et la Connexion est ma méthode action (enregistré dans le Compte du Contrôleur)

Veuillez prendre un coup d'oeil jointenter image description here la capture d'écran.

26voto

Amna Ali Points 389

Je n'ai pas vu cette réponse à la question:

Comment dois-je configurer une zone par défaut au démarrage de l'application?

Alors, voici comment vous pouvez configurer une zone par défaut:

 var route = routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    ).DataTokens = new RouteValueDictionary(new { area = "MyArea" });
 

11voto

Good Samaritan Points 291

Dave a raison, mais je voudrais ajouter que dans MVC 4, le routage n'est plus effectué dans Global.asax, mais dans le fichier RouteConfig.cs sous * App_Start *.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X