Recherche…


Introduction

Dans ASP.NET MVC, les vues sont placées par défaut dans le dossier Views . Parfois, vous souhaitez modifier ces emplacements et stocker les vues ailleurs.

Créer une vue Emplacement Expander

Pour pouvoir modifier l'emplacement de la vue, vous devez implémenter IViewLocationExpander . La méthode ExpandViewLocations renvoie un IEnumerable<string> contenant les différents emplacements où chercher, avec

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

Enregistrer la vue Emplacement Expander

Vous devez maintenant enregistrer l'Expander, afin qu'il puisse être utilisé par Razor View Engine. Ajoutez simplement ceci dans le ConfigureServices de votre classe de 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow