没有解雇我有一个基本的控制器类:今天再次ExecuteCore()在基类中的MVC 4测试版
和我所有的其他控制器继承此BaseClass的这样
所有这一切都在MVC3的伟大工程(试验,它确实有效),但似乎BaseController中的ExecuteCore在MVC 4测试版中不再被解雇。
有什么想法?或者任何巨大的变化已经改变了?非常感谢。
public class BaseController : Controller
{
private string _myData;
public string MyData
{
get
{
return _myData;
}
}
protected override void ExecuteCore()
{
_myData = "I am doing something";
base.ExecuteCore();
}
}
public class HomeController : BaseController
{
public ActionResult Index()
{
ViewBag.MyData = MyData;
// Doing something with value in BaseClass
return View();
}
}
感谢您的评论。 MVC团队似乎真的改变了一些事情。 我有另一个解决这个问题的解决方法: 取代了ExecuteCore,我重写了BaseClass中的OnActionExecuting,它被正确触发。 – BladeLeaf 2012-03-05 01:48:52
此时,MSDN页面不为空,并包含以下备注:“此标志用于向后兼容,ASP.NET MVC 4.允许控制器支持异步模式,这意味着ExecuteCore不会在派生类上调用。类可以重写此标志,如果仍然需要调用ExecuteCore,则设置为true。“这意味着您的解决方案/解决方法是有效的。 – huhu78 2015-09-14 11:16:02