我知道我可以添加搜索位置到View Engine
,正如这个答案所解释的。
我只是想知道有没有办法告诉视图引擎然后递归搜索子文件夹,而不必指定整个路径?
。如果我的文件夹结构是/Shared/Partials/Subfolder/Subfolders/MyView
我可以添加像/Shared/Partials/*或类似的搜索位置吗?
我找不到任何东西,所以我认为这是不可能的,但我想我不妨在这里问一下。
谢谢
如果你在你的视图引擎数组中使用这样的东西呢?
Directory.GetDirectories("c:/somepath/Shared/Partials");
上面返回一个字符串数组。
所以你可以这样写:
public class CustomViewEngine : WebFormViewEngine
{
public CustomViewEngine()
{
var viewLocations = Directory.GetDirectories("c:/somepath/Shared/Partials");
this.PartialViewLocationFormats = viewLocations;
this.ViewLocationFormats = viewLocations;
}
}
同时注册你的新引擎:
protected void Application_Start()
{
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new CustomViewEngine());
}