在控制器实例化之前,MVC Action Filter属性是否运行?我有一个控制器的属性,我想从ActionFilter中检查。这可能吗?哪些首先在ASP.NET MVC,动作过滤器或控制器中实例化?
4
A
回答
4
根据专业ASP.NET MVC 1.0书,ActionFilters在控制器实例化后运行。在OnActionExecuting(ActionFilter调用的第一个方法)时,Controller上下文可用。
2
控制器将在Action Filter的OnActionExecuted和OnActionExecuting事件触发之前得到实例化。您也可以通过传递给事件处理程序的“filterContext”参数访问Controller。
public class TestActionAttribute : FilterAttribute, IActionFilter
{
#region IActionFilter Members
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var controller = filterContext.Controller;
}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = filterContext.Controller;
}
#endregion
}
1
抽象类System.Web.Mvc.ActionFilterAttribute(派生从该类自己ActionFilter)有4种OnXXX方法:
- OnActionExecuting
- OnActionExecuted
- OnResultExecuting
- OnResultExecuted
我觉得在OnActionExecuting你可以检查你的控制器:
YourController controller = filterContext.Controller as YourController
if(controller != null)
{
// check your controller
}
相关问题
- 1. 首先ASP.NET MVC - 控制器/操作或视图或ViewModels?
- 2. 带控制器动作过滤器的ASP.NET MVC DI
- 3. 在动作过滤器中实例化视图模型?
- 4. 动作过滤器的ASP.NET MVC测试
- 5. 调试ASP.NET MVC动作过滤器
- 6. 如何实例化asp.net mvc 2控制器?
- 7. 在MVC 6 alpha4手动实例化一个控制器
- 8. 控制器和动作中的执行动作过滤器
- 9. ASP.NET MVC - 作业控制器
- 10. 从控制器动作ASP.NET MVC
- 11. asp.net mvc控制器动作测试
- 12. ASP.NET MVC控制器动作授权
- 13. ASP.NET MVC控制器动作设计
- 14. Django过滤器的作用。在视图中过滤或预先格式化?
- 15. MVC中的动作类型过滤器?
- 16. DShow源过滤器:我是哪个过滤器实例?
- 17. Asp.Net MVC:是否支持控制器级过滤器属性?
- 18. 无法在asp.net MVC3 EF代码中首先添加控制器
- 19. 在控制器ASP.NET MVC实现分析
- 20. 哪个函数将首先在angularjs指令中执行?链接或控制器?
- 21. 重定向到指定的控制器和动作在asp.net mvc动作过滤器
- 22. 在asp.net-mvc中HTTP模块vs动作过滤器
- 23. 在Asp.NET MVC中为用户登录使用动作过滤器?
- 24. ASP.Net MVC控制器
- 25. aspx URL到mvc控制器的动作
- 26. 如何访问ASP.NET MVC控制器中的HttpServerUtility实例?
- 27. 从另一个控制器动作中调用ASP.NET MVC动作
- 28. MVC,控制器的动作
- 29. 在MVC中,控制器有哪些限制?
- 30. ASP.NET MVC - 通过传递一些数据重定向到控制器/动作