Finden Sie die Ansicht in einem nicht standardmäßigen Ordner: ASP.NET MVC -Ansichtsposition wird angepasst
ASP.NET MVC standardmäßig sucht nach Ansichten in einem bestimmten Ort im Dateisystem. Wenn das Projekt jedoch eine nicht standardmäßige Organisation annimmt, sind diese Suchpositionen maßgeblich sehr nützlich. In diesem Artikel wird untersucht, wie die benutzerdefinierte Ansichtsposition angegeben wird.
Übersicht über die Frage
Angenommen, die Projektstruktur ist wie folgt: Der Controller befindet sich in und die Ansicht befindet sich in . Der folgende Controller -Code kann Fehler verursachen:
/Controllers/Demo
Der Standard -Suchort enthält keine Ordner /Views/Demo
, sodass ein Fehler gemeldet wird, was dazu veranlasst, dass die Ansicht "Index" nicht gefunden werden kann.
<code class="language-csharp">public class DemoArea1Controller : Controller { public ActionResult Index() { return View(); } }</code>
/Views/Demo
-Klasses erweitern und die Attribute und ändern:
WebFormViewEngine
Die aktualisierte Ansichtsmotor enthält den Ordner PartialViewLocationFormats
in der Suchposition. 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
Registrieren Sie schließlich eine benutzerdefinierte Ansichtsmotor in der Methode in :
Durch diese Modifikationen sucht der ASP.NET MVC nun nach der Standardposition und der benutzerdefinierten -Fordneransicht.
Das obige ist der detaillierte Inhalt vonWie kann ich Ansichtspositionen in ASP.NET MVC anpassen, um Ansichten in nicht standardmäßigen Ordnern zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!