Ich verwende IActionFilter OnActionExecuting-Funktion für einige Sicherheitsüberprüfung, aber wenn es ruft eine Bedingung überprüfen und wenn diese Bedingungen fehlschlagen möchte ich es an Login-Aktion umleiten, aber das Problem ist, es aufrufen die nächste Aktion, die ich nicht ausführen möchte, wenn diese Bedingungen nicht erfüllt sind. Problem in Aktion Anruf nach IActionFilter OnActionExecuting Funktion
0
A
Antwort
1
Dies sollte die Arbeit machen:
public class MyCustomActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (someCondition)
{
var values = new RouteValueDictionary(new {
action = "index",
controller = "login"
});
filterContext.Result = new RedirectToRouteResult(values);
}
base.OnActionExecuting(filterContext);
}
}
Stellen Sie sicher, dass Attribut von ActionFilterAttribute ableitet.
+1 Danke das funktioniert. Mein Fehler ist, dass ich es nicht wie base.OnActionExecuting (filterContext) überschreiben; –
Wenn eine Anfrage auf Ajax basiert, wird sie nicht auf diese Seite weitergeleitet, sondern in das Fenster –