it-swarm.com.de

Festlegen des Standardcontrollers in asp.net MVC 4 und MVC 5

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?

106
Adrian10 BEN

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 }
);
163
Dave Alperovich

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 anbeienter image description here Bildschirmfoto.

29
Nimesh

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" });
24
Amna Ali

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 }
);
2
Manjoor