Maison > développement back-end > C++ > Comment puis-je personnaliser les emplacements de vue dans ASP.NET MVC pour éviter les erreurs 'Afficher la vue non fondée'?

Comment puis-je personnaliser les emplacements de vue dans ASP.NET MVC pour éviter les erreurs 'Afficher la vue non fondée'?

Patricia Arquette
Libérer: 2025-01-26 01:11:08
original
664 Les gens l'ont consulté

How Can I Customize View Locations in ASP.NET MVC to Avoid

Personnalisation des emplacements de vue dans ASP.NET MVC pour résoudre les problèmes de résolution de vue

Les projets ASP.NET MVC rencontrent parfois des problèmes de résolution de vue en raison d'emplacements de vue ne correspondant pas aux chemins de recherche par défaut. Cela entraîne souvent des erreurs telles que "La vue 'index' ou son maître est introuvable." La solution consiste à configurer des emplacements de vue personnalisés.

Par exemple, si vos contrôleurs résident dans /Controllers/Demo et vos vues dans /Views/Demo, vous devez indiquer au runtime MVC de rechercher dans le sous-dossier Demo. Ceci peut être réalisé en modifiant le WebFormViewEngine.

Création d'un moteur de vue personnalisé :

Tout d'abord, créez une classe de moteur de vue personnalisée qui étend WebFormViewEngine :

<code class="language-csharp">public class CustomViewEngine : WebFormViewEngine
{
    public CustomViewEngine()
    {
        var viewLocations = new[] {
            "~/Views/{1}/{0}.aspx",
            "~/Views/{1}/{0}.ascx",
            "~/Views/Demo/{0}.aspx",
            "~/Views/Demo/{0}.ascx",
            "~/Views/Shared/{0}.aspx",
            "~/Views/Shared/{0}.ascx"
        };

        this.PartialViewLocationFormats = viewLocations;
        this.ViewLocationFormats = viewLocations;
    }
}</code>
Copier après la connexion

Ce code ajoute le chemin /Views/Demo aux formats d'emplacement de vue standard. L'espace réservé {1} représente le nom du contrôleur et {0} représente le nom de la vue.

Enregistrement du moteur de vue personnalisée :

Ensuite, enregistrez votre moteur de vue personnalisé dans la méthode Application_Start de votre Global.asax.cs fichier :

<code class="language-csharp">protected void Application_Start()
{
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new CustomViewEngine());
    // ... other application start code ...
}</code>
Copier après la connexion

Ceci remplace le moteur d'affichage par défaut par votre moteur personnalisé.

Cette configuration garantit que les contrôleurs de l'espace de noms « Démo » localisent correctement les vues dans le dossier de vue « Démo », résolvant les conflits de résolution de vue et maintenant une structure de projet bien organisée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal