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

6
有没有一种方法可以获取 ASP.NET MVC 项目中定义的所有视图的列表?是否有内置的枚举或者应该使用反射来查找?
4个回答

2
“可编程访问的视图名称”是T4MVC模板提供的众多功能之一。如果它不能完全满足您的需求,您仍然可以看看它是如何实现的。

0

由于ASP.NET MVC更偏向于约定优于配置,因此您最好查看~/Views目录下的所有文件--无需反射。


0

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

祝好,

Dan


0

以下类似的内容应该能帮助你入门

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

这是伪代码,不确定它是否具有正确的属性等...你必须小心的一件事是只在声明类型上获取方法,而不是在基本类型上获取。

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

希望这足以让你在编程上有所作为并开始启程。

1
据我所知,这只会获取控制器的动作方法 - 而不是与控制器相关联的视图。 - Dan Esparza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接