来自操作方法名称或MethodInfo等的URL,或列出操作路径

时间:2010-09-19 09:00:30

标签: asp.net-mvc routing url-routing asp.net-mvc-routing

我正在尝试记录我的网络应用中的所有操作,我想做的其中一件事就是为操作提供示例网址。

有没有办法列出网站中的所有操作及其路线,或者是从MethodInfo中找到路线的方法?

我想我可能必须为每个动作编写一个自定义属性,以指定用于带参数的动作的虚拟值。

1 个答案:

答案 0 :(得分:1)

您可以使用反射轻松获取所有操作:

var actions = 
    from controller in Assembly.GetExecutingAssembly().GetTypes()
    where typeof(Controller).IsAssignableFrom(controller)
    from action in controller.GetMethods()
    where typeof(ActionResult).IsAssignableFrom(action.ReturnType)
    select new { Controller = controller, Action = action };

适应包含您感兴趣的程序集。