ตั้งค่า 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");
}