我有以下基本 Controller
public class BaseController : Controller
{
protected override void Execute(RequestContext requestContext)
{
base.Execute(requestContext);
}
}
实现
public class HomeController : BaseController { }
我们从mvc3升级到mvc5,在mvc5中这个方法没有被调用,这里需要做什么?
最佳答案
尚不完全清楚您的目的是什么,但有几个问题。你的普通 Controller 继承你的BaseController吗?
public class MyController : BaseController
我不明白这一行的意思......
var global = requestContext.HttpContext.Request.QueryString["global"] == null ? true : false;
您设置了该值,然后不对它执行任何操作。您是否打算将此值存储在基本 Controller 中,以便您可以从所有其他 Controller 访问它?
当然,如果查询字符串中缺少 global 那么它应该是 false 而不是 true。
public class BaseController : Controller
{
public bool isGlobal { get; private set; }
protected override void Execute(RequestContext requestContext)
{
this.isGlobal = requestContext.HttpContext.Request.QueryString["global"] == null ? false : true;
base.Execute(requestContext);
}
}
关于c# - mvc 5 中不会触发基本方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24502389/