ASP.NET MVC View Search Location Customization Guide
In ASP.NET MVC-Projekten ist der Standardsuchspeicherort für Ansichten der Ordner „Ansichten“. Es kann jedoch vorkommen, dass Sie einen benutzerdefinierten Speicherort für einen bestimmten Controller angeben müssen, um die entsprechende Ansicht zu finden.
Angenommen, ein Controller im Namensraum „Demo“ muss im Unterordner „Demo“ nach Ansichten suchen. Die Lösung für dieses Problem besteht darin, die standardmäßige WebFormViewEngine zu erweitern und einen benutzerdefinierten Suchort zu definieren.
Erstellen Sie dazu eine neue Klasse namens CustomViewEngine, die von WebFormViewEngine erbt:
<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>
Definieren Sie im Konstruktor einen benutzerdefinierten Suchort. In diesem Beispiel fügen wir „~/Demo/Views/{0}.ascx“ zur Liste der Suchorte hinzu, sodass Controller im Namespace „Demo“ im Unterordner „Demo“ durchsucht werden können.
Registrieren Sie abschließend die benutzerdefinierte Ansichts-Engine in der Application_Start-Methode der Datei Global.asax.cs:
<code class="language-csharp">protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new CustomViewEngine()); }</code>
Wenn Sie jetzt Controller im Namensraum „Demo“ verwenden, suchen diese automatisch nach Ansichten im Standardordner „Ansichten“ und im Unterordner „Demo“. Dadurch können Sie Ihre Ansichtsordner logisch organisieren und eine einheitliche Namenskonvention beibehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich Suchpositionen in ASP.NET MVC anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!