Ich muss auf andere Aktion basierend auf Rolle umleiten. Ich habe folgende Änderungen an RouteConfig.cs vorgenommen.ASP.NET MVC Routing - Redirect zu Route, wenn Aktion Name und URL identisch ist
RouteConfig.cs
routes.MapRoute(
name: "borrower",
url: "borrower",
defaults: new { controller = "Home", action = "Borrower" });
routes.MapRoute(
name: "broker",
url: "broker",
defaults: new { controller = "Home", action = "Broker" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
Hier ist mein Controller
HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
if (UserPrincipal.Current.Identity.IsAuthenticated)
{
if (UserPrincipal.Current.IsInRole("Broker"))
{
return RedirectToRoute("broker");
}
else if (UserPrincipal.Current.IsInRole("Borrower"))
{
return RedirectToRoute("borrower");
}
}
return View();
}
public ActionResult Broker()
{
return View();
}
public ActionResult Borrower()
{
return View();
}
}
-Code Fluss richtig bis return RedirectToRoute("")
arbeiten, aber nach diesem Code Fluss geht nie zu verwandten/angemessen Aktion und leere Sicht wird zurückgegeben.
HINWEIS: Broker-und Kreditnehmeransichten sind nicht leer, sie haben statischen Text.
In der Registerkarte Netzwerk können Sie sehen, dass die richtige Umleitung ausgeführt wird und die URL im Browser für die Weiterleitung der URL festgelegt wird.
RedirectToRoute("Broker")
Ergebnis in 302
Reaktion und Benutzer zu abc.com/broker
, wie es sollte umgeleitet, aber abc.com/broker
nicht Broker
Aktionsmethode in HomeController
und leer zurückgegeben anstößt. Nach RouteConfig.cs
sollte es Broker
Aktionsmethode treffen.
Bitte weisen Sie darauf hin, was ich hier falsch mache.
Also ist deine aktuelle URL (von der Weiterleitung) 'Home/Broker'? Was ist das Problem, das du hast? – Shyju
@Shyju URL auf redirect wird abc.com/Broker. Aber es gibt keine entsprechende Ansicht zurück, stattdessen gibt es eine leere Ansicht zurück. – Zeeshan
Wenn Sie auf die URL in einem Browser zugreifen, sind Sie Ansicht ist leer? Es hat also nichts mit deinem Redirect zu tun. Ritus? – Shyju