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 valeur par défaut Zone au démarrage de l'application?
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 de destination 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 }
);
Définir le code ci-dessous dans le dossier RouteConfig.cs dans le dossier App_Start
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, faites les étapes ci-dessous
Deuxième manière: Vous suivez simplement les étapes ci-dessous,
1) Faites un clic droit sur votre solution de projet
2) Sélectionnez la propriété
3) Sélectionnez l’option Web, puis sélectionnez Page spécifique (contrôleur/affichage), puis définissez votre page de connexion.
Ici, le compte est mon contrôleur et le login est ma méthode d'action (enregistré dans le contrôleur de compte)
S'il vous plaît jeter un oeil ci-joint capture d'écran.
Je n'ai pas vu cette réponse à la question:
Comment dois-je configurer une valeur par défaut Zone 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" });
Si vous n’avez qu’un seul contrôleur et que vous souhaitez accéder à toutes les actions à la racine, vous pouvez ignorer le nom du contrôleur de la manière suivante:
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);