2016-03-29 10 views
0

Ich habe diese Strecke KonfigurationMVC Routing nicht für bestimmte Wert arbeiten

 routes.MapRoute(
      name: "catProducts", 
      url: "Description/{action}/{id}", 
      defaults: new { controller = "Home", action = "ProductDetail" } 
     ); 



     routes.MapRoute(
      name: "Products2", 
      url: "Category/{action}/{cat}/{subcat}", 
      defaults: new { controller = "Home", action = "Products", subcat = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default", 
      url: "", 
      defaults: new { controller = "Account", action = "Login"} 
     ); 

     routes.MapRoute(
      name: "Default1", 
      url: "{controller}/{action}" 

     ); 

Wenn ich versuche,

http://localhost/B2BWebSite/Description/ProductDetail/3

es somtime direkt umleiten, geht aber irgendwann Seite

Antwort

0

Es anmelden ist keine spezifische Route für B2BWebSite definiert. Wenn Sie also auf http://localhost/B2BWebSite/Description/ProductDetail/3 gehen, wird die Standardroute überprüft und Ihre Default route ist Account/Login wie unten. Deshalb geht es auf die Anmeldeseite.

In Bezug auf, Sie Fragen über manchmal funktioniert es und manchmal nicht; hat wahrscheinlich etwas mit Login-Informationen in der Sitzung zu tun. Wenn der Benutzer angemeldet ist, wird die Anmeldeseite möglicherweise nicht angezeigt.

+0

B2BWebSite ist virtuelles Verzeichnis –

+0

In IIS, wählen Sie Ihr virtuelles Verzeichnis und 'Konvertieren – TheUknown

+0

Dank für die schnelle Antwort auf Antrag entsprechend, aber es ist in Visual Studio –

0

Möglicherweise müssen Sie ID in der ersten Route angeben.

routes.MapRoute(
     name: "catProducts", 
     url: "Description/{action}/{id}", 
     defaults: new { controller = "Home", action = "ProductDetail", id= UrlParameter.Optional } 
    );