2016-10-28 6 views
1

Wie würde ich über das Ändern den Standard gehe controller/action und RouteConfig.cs so, dass ich das erste URL-Segment auf der Seite immer angezeigt werden?Erhalten erstes url Segment

Also, wenn die URL mysite.com die Seite leer sein sollte, wenn es mysite.com/somepage ist ich auf der Seite somepage gedruckt werden soll, wenn die Seite mysite.com/services I services auf der Seite gedruckt werden soll und so weiter.

Der Standardcontroller ist Home und die Standardmethode ist Index.

Ich denke, die Methode so etwas wie dies gehen würde:

public ActionResult Index(string page = "") 
     { 
      return Content(page); 
     } 

Aber was RouteConfig.cs?

+0

'routes.MapRoute ("Home", {page}, {neue controller = "Home", action = "Index"});' aber dies bedeutet, dass Sie wird nie alle anderen Routen haben können, - die einzige Methode, die Sie jemals navigieren 'mysite.com/someValue' ist, wenn Sie für alle Sie andere Controller-Methoden vor diesem –

+0

bestimmte Routen erstellen, das zu sein, was ich suche scheint (in der Theorie). Ich erhalte jedoch einen Fehler im Code: "Die Namensseite existiert nicht im aktuellen Kontext" – frc

+0

Welcher Code verursacht diesen Fehler? (es ist nicht wegen irgendetwas, was Sie in der Frage gezeigt haben) –

Antwort

1

Sie sollten die Standardroute löschen und Ihre benutzerdefinierten diejenigen hinzufügen, wie folgt aus:

// Home route 
routes.MapRoute("Home", "", new { controller = "Home", action = "Index" }); 

Der zweite Parameter in routes.MapRoute ist die URL, die in diesem Fall leer. Für Dienste würden Sie Ihren Weg wie diese:

// Services route 
routes.MapRoute("Services", "services", new { controller = "Some Controller", action = "Some action" }); 
+0

Ich löschte den Standard, fügte Ihren hinzu und wenn ich z. zu mysite.com/test bekomme ich 'HTTP Error 404.0 - Not Found' anstelle von' test'. Meine Index-Methode ist wie die von Q. – frc

+0

hat die Home-Route funktioniert? – Forlani

+0

Was meinst du, mysite.com/Home oder mysite/Home/Index? Das funktioniert nicht. Was ich an die Haupt-URL angehängt habe, funktioniert nicht. – frc

Verwandte Themen