C# 如何浏览所有带有路径的Razor视图?
在C# 如何浏览所有带有路径的Razor视图?,c#,razor,asp.net-core-2.0,C#,Razor,Asp.net Core 2.0,在ASP.NET Core 2.2中,您可以在任何文件夹中的任何位置查看该视图,如果指定了有效路径,则将使用该视图 例如,您可以将路径指定为从控制器操作返回的视图函数的参数,如下所示 return View("Path/To/View", model); 或者编写自己的IViewLocationExpander实现 这让我感到疑惑 构建ASP.NET Core 2.2应用程序时,视图所在的文件夹将与视图本身一起从构建文件中消失,因为它们已编译到源代码中 然而,为了发现视图,仍然需要路径。这意味
ASP.NET Core 2.2
中,您可以在任何文件夹中的任何位置查看该视图,如果指定了有效路径,则将使用该视图
例如,您可以将路径指定为从控制器
操作
返回的视图
函数的参数,如下所示
return View("Path/To/View", model);
或者编写自己的IViewLocationExpander
实现
这让我感到疑惑
构建ASP.NET Core 2.2
应用程序时,视图所在的文件夹将与视图本身一起从构建文件中消失,因为它们已编译到源代码中
然而,为了发现视图,仍然需要路径。这意味着Razor
以某种方式知道视图在解决方案中的位置,并且信息必须在源代码的某个地方
您仍然可以在编译的代码中列出所有
.cshtml
视图及其完整路径吗?或者递归浏览所有视图文件夹?您可以获取一个视图并进行渲染(IRazorViewEngine),因此如果您有一个包含所有路径的列表,您应该能够获取所有视图。