2017-05-01 5 views
0

Ich habe versucht, das Routing meines asp.net-Projekts zu ändern. Ich möchte, dass der Login-Controller beim Start meines Projekts geladen wird und nicht von einem anderen Controller. So habe ich LoginDefault in der Karte anzeigen bestehende Routen in asp ProjektGrundlegendes Routing

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

     routes.MapRoute(
      name: "LoginDefault", 
      url: "{controller}/{action}", 
      defaults: new { controller = "UserManagement", action = "Login" } 
     ); 
     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
    } 

Dies lädt auf den Login-Controller richtig, aber dabei das Standard-Routing wird nicht ausgeführt, hinzugefügt. Nach der Anmeldung wird der Dashboard-Controller aufgerufen, aber "Index" wird jeder URL wie folgt hinzugefügt.

http://localhost:49799/Dashboard/Index

Das hat meine URL und anderen Ajax-Aufruf erfolgt und diese ordentlich sieht nicht so aus. Vor der Zugabe der LoginDefault würde die URL

http://localhost:49799/Dashboard

würde ich dies erreichen mag. Wenn ein anderer Weg möglich ist, wird das auch in Ordnung sein.

Danke

Antwort

0

versuchen, diese

routes.MapRoute(
     name: "LoginDefault", 
     url: "{controller}", 
     defaults: new { controller = "UserManagement", action = "Login" } 
    ); 
+0

Diese Route hält auf Umleiten Controller Controller statt nach Hause einzuloggen auch nach korrekten Login-Daten zur Verfügung gestellt – shunilkarki