Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何浏览所有带有路径的Razor视图?_C#_Razor_Asp.net Core 2.0 - Fatal编程技术网

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),因此如果您有一个包含所有路径的列表,您应该能够获取所有视图。