在Asp.Net MVC 4中查找视图时,我们可以递归搜索子文件夹吗?

时间:2015-10-08 08:53:27

标签: asp.net-mvc viewengine

我知道我可以按照answer中的说明将搜索位置添加到View Engine

我只是想知道有没有办法告诉视图引擎再递归搜索子文件夹而不必指定整个路径?

E.g。如果我有像/ Shared / Partials / Subfolder / Subfolders / MyView那样的文件夹结构

我可以添加/ Shared / Partials / *或类似的搜索位置吗?

我找不到任何东西,所以我认为不可能,但我想也可以问这里。

由于

1 个答案:

答案 0 :(得分:1)

如果你在viewengine数组中使用这样的东西怎么办?

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());
}