在控制器實例化之前,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 - 通過傳遞一些數據重定向到控制器/動作