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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-26 01:01:10630parcourir

How Can I Customize View Search Locations in ASP.NET MVC?

Emplacement de visualisation personnalisé dans ASP.NET MVC

ASP.NET MVC par défaut pour rechercher des vues dans une structure hiérarchique de dossier spécifique

. Cependant, dans certains cas, par exemple, sur la base des vues de tissu d'espace de dénomination, un emplacement de recherche sur une vue personnalisée doit être personnalisé.

Views Description du problème

Considérez la structure du projet suivante:

Lors de l'accès au contrôleur dans l'espace de dénomination "Demo" (par exemple,

), le MVC par défaut de rechercher des vues dans le sous-dossier
<code>- Controllers
  - Demo
    - DemoArea1Controller
    - DemoArea2Controller
- Views
  - Demo
    - DemoArea1
      - Index.aspx
    - DemoArea2
      - Index.aspx</code>
. Cependant, il y aura une erreur "Je ne trouve pas la vue" index "ou sa version mère".

DemoArea1Controller Solution /Views/DemoArea1

Afin de personnaliser l'emplacement de visualisation, il est recommandé d'étendre Classe:

Ici, vous définissez un tableau contenant une position de recherche de vue personnalisée. WebFormViewEngine

Enregistrer
<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",
            "~/AnotherPath/Views/{0}.ascx"
            //等等
        };

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

Après avoir créé un moteur de vue personnalisé, il doit être enregistré dans la méthode

de :

En nettoyant le moteur de vue par défaut et en ajoutant un moteur personnalisé, vous pouvez spécifier efficacement que le contrôleur doit rechercher des vues de vue à la position spécifiée. Global.asax.cs Application_Start Cette sortie révocée maintient l'image d'origine et reformulère le texte pour obtenir une réplication directe de sens similaire.

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