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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top