我有以下基本 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/

10-11 20:36
查看更多