In asp.net MVC ist die "Homepage" (dh die Route, die beim Aufrufen von www.foo.com angezeigt wird) auf Home / Index eingestellt.
- Wo ist dieser Wert gespeichert?
- Wie kann ich die "Homepage" ändern?
- Gibt es etwas eleganteres als die Verwendung von RedirectToRoute () in der Index-Aktion des Home-Controllers?
Ich habe versucht, in meinem Projekt nach Home / Index zu suchen, konnte jedoch keine Referenz finden und konnte in IIS (6) nichts sehen. Ich habe mir die Seite default.aspx im Stammverzeichnis angesehen, aber das schien nichts Relevantes zu bewirken.
Vielen Dank
c#
asp.net-mvc
asp.net-mvc-routing
NikolaiDante
quelle
quelle
url: "{controller}/{action}/{id}"
. Geben Sie den Routen einfach unterschiedliche Namen.ASP.NET Core
Das Routing wird in der
Configure
Methode derStartup
Klasse konfiguriert . Um die "Homepage" einzustellen, fügen Sie einfach Folgendes hinzu. Dies führt dazu, dass Benutzer an den Controller weitergeleitet werden und die in der MapRoute-Methode definierte Aktion ausgeführt wird, wenn sie zur Basis-URL Ihrer Site navigieren, dh Ihre Site.com leitet Benutzer an Ihre Site weiter.Pre-ASP.NET Core
Verwenden Sie die RegisterRoutes-Methode in App_Start / RouteConfig.cs (MVC 3 und 4) oder Global.asax.cs (MVC 1 und 2), wie unten gezeigt. Dies führt dazu, dass Benutzer an den Controller weitergeleitet werden und die in der MapRoute-Methode definierte Aktion ausgeführt wird, wenn sie zur Basis-URL Ihrer Site navigieren. Das heißt, Ihre Site.com leitet den Benutzer an Ihre Site weiter.
quelle
Schritt 1: Klicken Sie in Ihrer Lösung auf Global.asax File.
Schritt 2: Gehen Sie dann zur Definition von
RouteConfig.RegisterRoutes(RouteTable.Routes);
Schritt 3: Ändern Sie den Controllernamen und den Ansichtsnamen
quelle
quelle
Überprüfen Sie die RegisterRoutes-Methode in global.asax.cs - dies ist der Standardort für die Routenkonfiguration ...
quelle
Attribut-Routing in MVC 5
Vor MVC 5 konnten Sie URLs bestimmten Aktionen und Controllern
routes.MapRoute(...)
zuordnen, indem Sie die Datei RouteConfig.cs aufrufen. Hier wird die URL für die Homepage gespeichert (Home/Index
). Wenn Sie jedoch die Standardroute wie unten gezeigt ändern,Beachten Sie, dass dies Auswirkungen auf die URLs anderer Aktionen und Controller hat. Wenn Sie beispielsweise eine Controller-Klasse mit dem Namen
ExampleController
und eine darin enthaltene Aktionsmethode aufgerufen habenDoSomething
, wird die erwartete Standard-URL verwendetExampleController/DoSomething
funktioniert nicht mehr, da die Standardroute geändert wurde.Eine Problemumgehung besteht darin, sich nicht mit der Standardroute herumzuschlagen und neue Routen in der Datei RouteConfig.cs für andere Aktionen und Controller wie diese zu erstellen.
Jetzt wird die
DoSomething
Aktion derExampleController
Klasse der URL zugeordnethey/now
. Dies kann jedoch jedes Mal mühsam werden, wenn Sie Routen für verschiedene Aktionen definieren möchten. In MVC 5 können Sie jetzt Attribute hinzufügen, um URLs mit Aktionen wie diesen abzugleichen.quelle
Ich habe die Antwort versucht, aber es hat bei mir nicht funktioniert. Das habe ich letztendlich gemacht:
Erstellen Sie einen neuen Controller DefaultController. In der Indexaktion habe ich eine Zeilenumleitung geschrieben:
Ändern Sie in RouteConfig.cs controller = "Default" für die Route.
quelle
Wenn Sie den Router nicht ändern möchten, gehen Sie einfach zum HomeController und ändern Sie MyNewViewHere im Index wie folgt:
quelle