FilterContext.Result सेट करें
मार्ग के नाम के साथ:
filterContext.Result = new RedirectToRouteResult("SystemLogin", routeValues);
आप कुछ ऐसा भी कर सकते हैं:
filterContext.Result = new ViewResult
{
ViewName = SharedViews.SessionLost,
ViewData = filterContext.Controller.ViewData
};
यदि आप उपयोग करना चाहते हैं RedirectToAction
:
आप किसी सार्वजनिक कर सकता है RedirectToAction
विधि अपने नियंत्रक पर ( इसके आधार नियंत्रक पर अधिमानतः ) कि बस की रक्षा की कॉल RedirectToAction
से System.Web.Mvc.Controller
। इस विधि को जोड़ने से फ़िल्टर से आपके लिए एक सार्वजनिक कॉल की अनुमति मिलती है RedirectToAction
।
public new RedirectToRouteResult RedirectToAction(string action, string controller)
{
return base.RedirectToAction(action, controller);
}
तब आपका फ़िल्टर कुछ इस तरह दिखाई देगा:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = (SomeControllerBase) filterContext.Controller;
filterContext.Result = controller.RedirectToAction("index", "home");
}