trouver la vue dans un dossier non standard: l'emplacement de vue MVC ASP.NET est personnalisé
ASP.NET MVC par défaut pour rechercher des vues dans un emplacement spécifique dans le système de fichiers. Cependant, lorsque le projet adopte une organisation non standard, ces positions de recherche sont très utiles. Cet article explorera comment spécifier la position de vue personnalisée.
Aperçu de la question
Supposons que la structure du projet est la suivante: Le contrôleur est situé dans , et que la vue est située dans . Le code de contrôleur suivant peut entraîner des erreurs:
/Controllers/Demo
L'emplacement de recherche par défaut n'inclut pas les dossiers /Views/Demo
, donc une erreur sera signalée, ce qui incite que la vue "index" ne peut pas être trouvée.
<code class="language-csharp">public class DemoArea1Controller : Controller { public ActionResult Index() { return View(); } }</code>
/Views/Demo
et modifier les attributs et :
WebFormViewEngine
Le moteur de vue mis à jour contient le dossier PartialViewLocationFormats
en position de recherche. ViewLocationFormats
<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/{1}/{0}.aspx", "~/Demo/Views/{1}/{0}.ascx" }; this.PartialViewLocationFormats = viewLocations; this.ViewLocationFormats = viewLocations; } }</code>
/Demo/Views
Enfin, enregistrez un moteur de vue personnalisé dans la méthode dans :
Grâce à ces modifications, le MVC ASP.NET recherchera désormais la position de position par défaut et la vue du dossier personnalisé .
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!