2010-12-17 1 views
0

Ich habe eine ASP.NET MVC-Anwendung.Wie ändere ich RoutingUrl für MVC-Anwendung im Falle von Einzel-Controller

Ich habe die routingUrl als http: // myapp/Home/Produkte/Produktname/DocTypename/Country Jetzt versuche ich die URL als http zu machen: // myapp/Produkte/Produktname/DocTypename/Country

Da ich nur einen Controller habe, möchte ich Home Verzeichnis von der Url loswerden.

Hier ist mein Code in Global.asax:

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

     routes.MapRoute( 
      "Default", // Route name 
      "{controller}/{action}/{ProductName}/{DocTypename}/{CountryName}", // URL with parameters 
      new { controller = "Home", action = "Products", ProductName = UrlParameter.Optional, DocTypename = UrlParameter.Optional, CountryName = UrlParameter.Optional } // Parameter defaults 
     ); 
} 

Hier Productname/DocTypename/Country dynamisch sind.

Ich erhalte die folgenden Fehler, wenn ich nicht Controller im obigen Code angeben:

Die Routedata muss ein Element enthalten namens ‚Controller‘ mit einem nicht leeren String-Wert.

Schätzen Sie Ihre Zeit.

Dank

Antwort

1

diesen Weg versuchen, aber stellen Sie sicher, dass seine vor der Standardroute ..

routes.MapRoute( 
      "Default", // Route name 
      "{action}/{ProductName}/{DocTypename}/{CountryName}", // URL with parameters 
      new { controller = "Home", action = "Products", ProductName = UrlParameter.Optional, DocTypename = UrlParameter.Optional, CountryName = UrlParameter.Optional } // Parameter defaults 
     ); 
Verwandte Themen