以编程方式获取MVC视图列表?

时间:2009-08-31 20:30:29

标签: asp.net-mvc view

有没有办法获取ASP.NET MVC项目中定义的所有视图的列表?在任何地方都有内置的枚举吗?或者我是否应该反思?

4 个答案:

答案 0 :(得分:2)

以编程方式访问的视图名称是T4MVC template提供的众多功能之一。如果它不能完全满足您的需求,您仍然可以看看它是如何完成的。

答案 1 :(得分:0)

在这种情况下,反射是你的朋友。我认为枚举不存在。

善,

答案 2 :(得分:0)

这些内容应该让你开始

for (methods in controller)    
    typeof(ActionResult).IsAssignableFrom(methodInfo.ReturnType)

那是伪的,不确定它是否是正确的属性而不是......你需要注意的一件事只是获取声明类型的方法,而不是基类型。

typeof(Controller).GetMethods(
    BindingFlags.Instance | 
    BindingFlags.DeclaredOnly | 
    BindingFlags.Public)

希望这足以让你变得危险并让你开始。

答案 3 :(得分:0)

由于ASP.NET MVC倾向于约定优于配置,因此最好的办法是查看〜/ Views目录下的所有文件 - 不需要反射。