2009-05-05 6 views
2

ich einen Parameter als Teil meiner ASP MVC URL haben müssen, bevor-Controller und Aktion:einen Parameter an die URL in ASP Hinzufügen von MVC

http://www.mydomain.com/company1/Haus

oder

firma1/Clients/Detail/1

(Idealerweise hätte ich gerne Dies als eine Subdomain wie folgt: http: // company1 .mydomain.com/Clients/Detail/1 so alle Antworten zu diesem Problem wird auch geschätzt)

Ich nenne diesen Parameter Account. Ich habe versucht, auf die Routing-Karte etwas wie folgt ergänzt: "{account}/{Controller}/{Aktion}/{id}" aber es gibt mir ein 404-Fehler, wenn so etwas wie http://www.mydomain.com/company1/Home

Hier versucht, ist der RegisterRoutes in Global.asax:

 public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute("TestRoute", "{account}/{controller}/{action}/{id}"); 

      routes.MapRoute(
       "Default",            // Route name 
       "{controller}/{action}/{id}",       // URL with parameters 
       new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
      ); 
} 

Gibt es etwas Besonderes, was ich tun muss, wenn ich meine Ansichten Ordner oder Controlleraktionen organisiere?

+1

Können Sie Ihre exakten Routingeinstellungen von global.asax anzeigen? – tvanfosson

Antwort

2

Ihr Fehler hört sich so an, als würden Sie in den Standardeinstellungen Ihrer Route keinen Standard für Aktionen angeben.

+1

Das denke ich auch, aber ohne die genauen Routen ist es schwer zu sagen. – tvanfosson

+0

Sie sind absolut richtig Jungs! Das Hinzufügen von Standardwerten behebt das Problem. Aber wie kann ich den Kontowert in meinen Controller-Aktionen abrufen? – Khash

+0

Fügen Sie Ihrer Aktionsmethode einen String-Parameter mit demselben Namen hinzu, der von MVC ausgefüllt werden sollte. –