Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 如何获取动作名称?_Asp.net Mvc 2_Castle Windsor_Aop - Fatal编程技术网

Asp.net mvc 2 如何获取动作名称?

Asp.net mvc 2 如何获取动作名称?,asp.net-mvc-2,castle-windsor,aop,Asp.net Mvc 2,Castle Windsor,Aop,我用WindsorController工厂替换了ASP.NET ControllerFactory 我注册了所有的控制器和拦截器。直到这里一切都很顺利 现在,当我调试我的拦截器时,我总是从invocation.Method.Name中的ControllerBase获取Execute。我需要获取操作名称和操作参数来进行一些验证 如何在拦截器的拦截方法中获取操作名称和操作参数?ControllerBase_Execute方法及其参数的信息对我没有帮助 谢谢 Raphael Molesim我相信您可以

我用WindsorController工厂替换了ASP.NET ControllerFactory

我注册了所有的控制器和拦截器。直到这里一切都很顺利

现在,当我调试我的拦截器时,我总是从invocation.Method.Name中的ControllerBase获取Execute。我需要获取操作名称和操作参数来进行一些验证

如何在拦截器的拦截方法中获取操作名称和操作参数?ControllerBase_Execute方法及其参数的信息对我没有帮助

谢谢


Raphael Molesim

我相信您可以从RequestContext.RoutedData集合中获得。我认为方法/行动的关键是“行动”。比如:

requestContext.RouteData.Values["action"]

美好的它起作用了。但我对此并不满意。我想拦截真正的行动。现在我需要呈现一个错误,在我的拦截器方法中,我该怎么做?如果我有真正的控制器,我会做一些类似controller.ModelState.AddModelError()的事情,然后我可以做一些视图(model)。谢谢,拉斐尔·莫莱西,我不太清楚。您能提供一些拦截器的示例代码吗?它是如何集成在ControllerBase.Execute中的,它正在做什么,以及您希望它做什么?