Wie lege ich den Standard-Controller für mein ASP.NET MVC 4-Projekt fest, ohne ihn zu erstellen HomeController?
Wie soll ich einen Standard einrichten Bereich wenn die Anwendung gestartet wird?
am besten ändern Sie Ihre Route. Die Standardroute (in Ihrem App_Start definiert) setzt /Home/Index
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
als Standard-Zielseite. Sie können die Route beliebig ändern.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Sales", action = "ProjectionReport",
id = UrlParameter.Optional }
);
Stellen Sie den folgenden Code in RouteConfig.cs im Ordner App_Start ein
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 });
}
Wenn es immer noch nicht funktioniert, führen Sie die folgenden Schritte aus
Second Way: Befolgen Sie einfach die folgenden Schritte,
1) Klicken Sie mit der rechten Maustaste auf Ihre Projektlösung
2) Wählen Sie Property
3) Wählen Sie die Option Web und dann Bestimmte Seite auswählen (Controller/Ansicht) und legen Sie dann Ihre Anmeldeseite fest
Hier ist Account mein Controller und Login meine Aktionsmethode (gespeichert in Account Controller)
Bitte schauen Sie anbei Bildschirmfoto.
Ich habe diese Frage nicht beantwortet sehen:
Wie soll ich einen Standard einrichten Bereich wenn die Anwendung gestartet wird?
So können Sie einen Standardbereich einrichten:
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" });
Wenn Sie nur einen Controller haben und auf alle Aktionen im Stammverzeichnis zugreifen möchten, können Sie den Namen des Controllers wie diesen überspringen
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);