Wie entferne ich Home in ASP.Net MVC?
-
08-06-2019 - |
Frage
Ich weiß, dass diese Site mit ASP.Net MVC geschrieben wurde und ich sehe „/Home“ nicht in der URL.Das beweist für mich, dass es machbar ist.Welche spezielle Route und welche benötige ich?
Lösung
Ändern Sie einfach „Home“ in eine leere Zeichenfolge.
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
Andere Tipps
Wenn Sie IIS 7 verwenden, können Sie einfach die Datei „Default.aspx“ löschen, die mit ASP.NET MVC geliefert wird (vorausgesetzt, Sie verwenden Preview 3 oder höher).Diese Datei wurde aufgrund eines Problems mit Cassini benötigt, das in .NET 3.5 SP1 behoben wurde.Weitere Einzelheiten finden Sie unter:
http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspxUndhttp://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx
Eigentlich gefällt es mir, wenn sich alle meine Home-Controller-Methoden im Stammverzeichnis der Site befinden.So was:/about, /contact usw.Ich schätze, ich bin wählerisch.Ich verwende dazu eine einfache Routenbeschränkung. Hier ist mein Blogbeitrag mit einem Codebeispiel.
Ich würde hinzufügen
routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });
in RouteConfig.cs
Das habe ich getan, um Home loszuwerden.Es behandelt alle Routen mit nur einem Spezifizierer als Home/Aktion und alle mit zwei als Controller/Aktion.Der Nachteil ist, dass der Controller jetzt einen expliziten Index haben muss (/Controller != /Controller/Index), aber es könnte Ihnen oder anderen helfen.
routes.MapRoute(
"Default",
"{action}",
new { controller = "Home", action = "Index" }
);
routes.MapRoute(
"Actions",
"{controller}/{action}",
new { }
);
In IIS 7 können Sie einfach die Datei „Default.aspx“ löschen, die mit ASP.NET MVC geliefert wird (vorausgesetzt, Sie verwenden Preview 3 oder höher).Diese Datei wurde aufgrund eines Problems mit Cassini benötigt, das in .NET 3.5 SP1 behoben wurde.
Weitere Einzelheiten finden Sie unter:
Bevorstehende Änderungen im Routing Und .NET 3.5 SP1 Beta und seine Auswirkungen auf MVC