Maison >développement back-end >C++ >Comment personnaliser les emplacements de recherche de vue dans ASP.NET MVC?

Comment personnaliser les emplacements de recherche de vue dans ASP.NET MVC?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-26 01:06:09952parcourir

How to Customize View Search Locations in ASP.NET MVC?

ASP.NET MVC View Emplacement Guide personnalisé

Dans le projet ASP.NET MVC, l'emplacement de recherche par défaut de la vue est le dossier des vues. Cependant, vous pouvez rencontrer la situation où vous devez spécifier une position personnalisée pour un contrôleur spécifique pour trouver la vue correspondante.

Par exemple, en supposant que le contrôleur dans l'espace de nom "Demo" doit rechercher des vues de visualisation dans le sous-dossier "Demo". La solution à ce problème consiste à étendre le webformviewEngine par défaut et à définir une position de recherche personnalisée.

Pour cette raison, créez une nouvelle classe appelée CustomViewEngine, qui hérite de cette classe à partir de WebFormViewEngine:

Dans le constructeur, définissez les positions de recherche personnalisées. Dans cet exemple, nous ajoutons "~ / démo / vues / {0} .scx" à la liste d'emplacement de recherche, permettant au contrôleur dans l'espace de nom "Demo" à rechercher dans le sous-dossier "Demo".
<code class="language-csharp">public class CustomViewEngine : WebFormViewEngine
{
    public CustomViewEngine()
    {
        var viewLocations = new[] {
            "~/Views/{1}/{0}.aspx",
            "~/Views/{1}/{0}.ascx",
            "~/Views/Shared/{0}.aspx",
            "~/Views/Shared/{0}.ascx",
            "~/Demo/Views/{0}.ascx"
        };

        this.PartialViewLocationFormats = viewLocations;
        this.ViewLocationFormats = viewLocations;
    }
}</code>

Enfin, enregistrez un moteur Affichage personnalisé dans la méthode Application_Start du fichier global.asax.cs:

Maintenant, lorsque vous utilisez le contrôleur dans l'espace nommé "Demo", ils rechercheront automatiquement des vues dans le dossier des vues par défaut et le dossier "Demo". Cela vous permet d'organiser logiquement le dossier de vue et de maintenir le même nom.
<code class="language-csharp">protected void Application_Start()
{
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new CustomViewEngine());
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn