2010-07-27 92 views
0

我用WindsorControllerFactory替換了ASP.NET ControllerFactory。我如何獲得操作名稱?

我註冊了所有的控制器和攔截器。直到這裏一切運作良好。

現在,當我在調試運行我的截擊,我總是得到invocation.Method.Name執行ControllerBase。我需要獲取動作名稱和動作參數來進行一些驗證。

如何在攔截器的攔截方法中獲取動作名稱和動作參數?這個信息ControllerBase_Execute方法和他的參數不幫我。

感謝,

拉斐爾Molesim

回答

1

我相信你可以得到從RequestContext.RouteData集合。我認爲方法/行動的關鍵是「行動」。例如:

requestContext.RouteData.Values["action"] 
+0

不錯!有用。 但我對此並不滿意。我想攔截真實的行動。現在我需要在我的攔截器方法中顯示一個錯誤,我該怎麼做?如果我有真正的控制器,我會做一些像controller.ModelState.AddModelError()和我可以做一些視圖(模型)之後。 謝謝, Raphael Molesim – user403633 2010-07-29 08:11:45

+0

不確定我完全理解。你能否提供一些攔截器的示例代碼 - 如何將它集成到ControllerBase.Execute中,它在做什麼以及你想要做什麼? – PatrickSteele 2010-07-29 12:14:39