Szukaj…


Wprowadzenie

W ASP.NET MVC widoki są domyślnie umieszczane w folderze Views . Czasami chcesz zmienić te lokalizacje i przechowywać widoki gdzie indziej.

Utwórz ekspander lokalizacji

Aby móc zmienić lokalizację widoku, musisz zaimplementować IViewLocationExpander . Metoda ExpandViewLocations zwraca IEnumerable<string> zawierający różne lokalizacje wyszukiwania

public class MyViewLocationExpander : IViewLocationExpander
{
    public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
    {
        yield return "/CustomViewFolder/{1}/{0}.cshtml";
        yield return "/SharedFolder/{0}.cshtml";
    }

    public void PopulateValues(ViewLocationExpanderContext context)
    {            
    }
}

Zarejestruj ekspander lokalizacji

Musisz teraz zarejestrować Expander, aby mógł być używany przez Razor View Engine. Po prostu dodaj to w ConfigureServices swojej klasy Startup .

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<RazorViewEngineOptions>(options => {
        options.ViewLocationExpanders.Add(new MyViewLocationExpander());
    });
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow