MVC5 EF BaseController仅为控制器和指定的操作执行代码

时间:2016-10-04 12:38:06

标签: asp.net-mvc entity-framework

我想仅在请求特定控制器和操作时运行一些代码。 我尝试了下面的代码但是 - 它给出了错误($exception {"Object reference not set to an instance of an object."} System.Exception {System.NullReferenceException} )访问网站的其他部分时。应该是最好的方法。这会影响页面加载。

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            if (requestContext.RouteData.Values["Controller"].ToString() == "Page" && requestContext.RouteData.Values["Action"].ToString() == "Details")

........
}

1 个答案:

答案 0 :(得分:0)

创建一个继承自ActionFilterAttribute的操作过滤器,并在OnActionExecutingOnActionExecuted中添加所需的代码,然后使用此属性注释所需的控制器或操作

https://www.asp.net/mvc/overview/older-versions/hands-on-labs/aspnet-mvc-4-custom-action-filters