Gibt es eine einfache Möglichkeit, die gesamte Seite (nicht nur die Teilansicht) auf die Anmeldeseite umzuleiten, nachdem die Sitzung abgelaufen ist?Teilansicht zur Anmeldeseite umleiten, wenn Sitzung abläuft
Ich habe die folgenden Lösungen ausprobiert, aber es nicht bekommen zu arbeiten:
- .Net MVC Partial View load login page when session expires
- How to redirect full page rather then only partial view changing?
Mein Problem ist, dass die Teilansicht Umleitungen auf die Anmelde-Seite und nicht die ganze Seite (dasselbe Problem wie in den Links).
-Controller
[HttpPost]
public PartialViewResult LogPartialView(string a, int? b, string c, string d, int? e, string f)
{
//If the user is "Admin" -> display Logs for all customers.
if (Roles.IsUserInRole(WebSecurity.CurrentUserName, "Admin"))
{
if (Session["myID"] == null)
{
ExpireSession();
}
//Some code
return PartialView("LogPartialLayout", model);
}
Ich wollte Redirect zurückzukehren ("~ /"), wenn myID null ist, aber es funktioniert nicht, da es eine Teilansicht erwartet.
Fehlermeldung: Kann nicht implizit Typ 'System.Web.Mvc.RedirectResult' auf 'System.Web.Mvc.PartialViewResult' konvertieren
public void ExpireSession()
{
Session.Abandon();
WebSecurity.Logout();
Response.Redirect("~/");
}
Ändern Sie die Signatur Ihrer Methode zu: 'public Action LogPartialView (...)' – haim770
@ haim770 habe ich, wenn session = null -> Redirect ("~ /") Aber es immer noch in der Teilansicht umleitet. –
@ haim770 .. Ich habe vergessen zu erwähnen, dass ich zu öffentlichen ActionResult geändert habe, aber ohne Erfolg. Weiterleitung innerhalb der PartialView. –