我有以下基本 Controller ...
public class BaseController : Controller
{
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if (something == true)
RedirectToAction("DoSomething", "Section");
base.Initialize(requestContext);
}
}
基本上,我的所有 Controller 都将从BaseController派生,如果某个值为true,它将重定向它们。但是,此代码不起作用!!!进行了对RedirectToAction的调用,但是在Initialize方法完成后,它将直接移至最初调用的 Controller 。
那有意义吗??
非常感谢,
ETFairfax。
最佳答案
我认为您是错误的方法。尝试使用OnActionExecuting或OnActionExecuted。
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (something == true)
filterContext.Result = RedirectToAction("DoSomething", "Section");
else
base.OnActionExecuting(filterContext);
}
关于asp.net - System.Web.Mvc.Controller初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1679405/