Setel filterContext.Result
Dengan nama rute:
filterContext.Result = new RedirectToRouteResult("SystemLogin", routeValues);
Anda juga dapat melakukan sesuatu seperti:
filterContext.Result = new ViewResult
{
ViewName = SharedViews.SessionLost,
ViewData = filterContext.Controller.ViewData
};
Jika Anda ingin menggunakan RedirectToAction
:
Anda dapat membuat RedirectToAction
metode publik pada pengontrol Anda ( sebaiknya pada pengontrol dasarnya ) yang hanya memanggil dilindungi RedirectToAction
dari System.Web.Mvc.Controller
. Menambahkan metode ini memungkinkan panggilan publik ke Anda RedirectToAction
dari filter.
public new RedirectToRouteResult RedirectToAction(string action, string controller)
{
return base.RedirectToAction(action, controller);
}
Maka filter Anda akan terlihat seperti ini:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = (SomeControllerBase) filterContext.Controller;
filterContext.Result = controller.RedirectToAction("index", "home");
}