Ricerca…


introduzione

In ASP.NET MVC, le viste vengono posizionate per impostazione predefinita nella cartella Views . A volte vuoi cambiare queste posizioni e archiviare le viste da qualche altra parte.

Crea un expander di posizione View

Per poter modificare la posizione della vista, è necessario implementare IViewLocationExpander . Il metodo ExpandViewLocations restituisce un oggetto IEnumerable<string> contenente le diverse posizioni in cui cercare, con

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)
    {            
    }
}

Registra l'espansore di posizione View

Ora è necessario registrare l'Expander, in modo che possa essere utilizzato dal Razor View Engine. Basta aggiungere questo nel ConfigureServices della tua classe di 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow