【问题标题】:Is there a way to get a list of views for a controller?有没有办法获取控制器的视图列表?
【发布时间】:2014-08-26 21:58:49
【问题描述】:

使用code found here,我设法在我的mvc 站点中获取了一个控制器列表(并且可以使用该列表做任何我想做的事情),但我还需要获取每个控制器的视图列表。有没有办法做到这一点?

编辑:澄清一下,我希望在运行时执行此操作以动态获取视图。

【问题讨论】:

  • 您是指操作还是视图?
  • 浏览量。或者,所有返回视图的操作。但这些观点最终是我所追求的。
  • 如果...你已经遵守约定,控制器的视图位于 ~/views/{controller}。 System.IO 为这种情况提供了一些好处
  • 可能有一定数量的共享视图。
  • 视图不直接链接到控制器。默认情况下,它们使用约定定位,但您也可以通过路径指定特定视图。正如 Iboshuizen 所说,您始终可以枚举目录中的文件。

标签: c# asp.net-mvc asp.net-mvc-4


【解决方案1】:

您可以使用 Roslyn 构建一个工具来分析您的语法 返回 View() 语句。

但如果您使用一个名为 ReturnViewByCondition(condition) 的函数,Roslyn 会将其视为单个结果。

我还看到了在 Controller 文件夹中计算 Views 文件计数的方法,但它在很大程度上取决于您的 ViewEngine 实现。

因此,以最通用的方式,我会说“不”,如果没有在静态分析自动化方面的重大努力,您就无法获得这些统计数据

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 2019-03-15
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多