MVC 获取所有操作方法
有没有办法获取我的 MVC 3 项目的所有操作方法的列表?
Is there a way to get a list of all Actions Methods of my MVC 3 project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法获取我的 MVC 3 项目的所有操作方法的列表?
Is there a way to get a list of all Actions Methods of my MVC 3 project?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
这将为您提供一个字典,其中控制器类型作为键,其 MethodInfos 的 IEnumerable 作为值。
它不仅仅查找当前程序集,还会返回方法,例如返回 JsonResult 而不是 ActionResult。 (JsonResult 实际上继承自 ActionResult)
编辑:对于 Web API 支持
更改
为
并删除此:
因为 Web API 方法几乎可以返回任何内容。 (POCO,HttpResponseMessage,...)
This will give you a dictionary with the controller type as key and an IEnumerable of its MethodInfos as value.
It looks in more than just the current assembly and it will also return methods that, for example, return JsonResult instead of ActionResult. (JsonResult actually inherits from ActionResult)
Edit: For Web API support
Change
to
and remove this:
Because Web API methods can return just about anything. (POCO's, HttpResponseMessage, ...)
您可以使用它在运行时反映程序集,以在返回 ActionResult 的控制器中生成方法列表:
这将为您提供操作,但不会提供视图列表(即,如果您可以在每个动作)
You can use this to reflect over the assemblies at runtime to produce a list of methods in Controllers that return ActionResult:
This will give you the actions, but not the list of Views (i.e. it won't work if you can use different views in each action)