Benutzerdefinierter Standort in ASP.NET MVC
ASP.NET MVC -Standardeinstellungen, um nach Ansichten in einer bestimmten hierarchischen Ordnerstruktur zu suchen. In einigen Fällen muss jedoch ein benutzerdefinierter Suchort angesehen werden, basierend auf Namensgewebeansichten für benannte Ansicht.
Problembeschreibung Views
Betrachten Sie die folgende Projektstruktur:
Wenn Sie den Controller im "Demo" -Annamenraum (z. B. ) zugreifen, stand die Suchen von MVC im Unterordner für Ansichten. Es wird jedoch einen Fehler "Ich kann die Ansicht" Index "oder seine Mutterversion nicht finden".
<code>- Controllers
- Demo
- DemoArea1Controller
- DemoArea2Controller
- Views
- Demo
- DemoArea1
- Index.aspx
- DemoArea2
- Index.aspx</code>
Nach dem Login kopieren
Lösung DemoArea1Controller
/Views/DemoArea1
Um den Standort der Betrachtung anzupassen, wird empfohlen,
Klasse zu erweitern:
Hier definieren Sie ein Array mit einer benutzerdefinierten Ansichtssuche.
Register WebFormViewEngine
<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>
Nach dem Login kopieren
Nach dem Erstellen einer benutzerdefinierten Ansichtsmotor muss sie in der -Methode von
: registriert werden
Durch Löschen der Standardansichtsmotor und das Hinzufügen einer benutzerdefinierten Engine können Sie effektiv angeben, dass der Controller an der angegebenen Position nach Ansichtsansichten suchen sollte.
Diese Revisionsausgabe verwaltet das Originalbild und formuliert den Text, um eine ähnliche Direktreplikation zu erreichen
Das obige ist der detaillierte Inhalt vonWie kann ich Ansichtssuchorte in ASP.NET MVC anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!