Heim >Backend-Entwicklung >C++ >Wie kann ich Ansichtspositionen in ASP.NET MVC anpassen, um 'Ansicht nicht gefundene' Fehler zu vermeiden?

Wie kann ich Ansichtspositionen in ASP.NET MVC anpassen, um 'Ansicht nicht gefundene' Fehler zu vermeiden?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-26 01:11:08653Durchsuche

How Can I Customize View Locations in ASP.NET MVC to Avoid

Ansichtsorte in ASP.NET MVC anpassen, um Probleme mit der Ansicht aufzulösen

ASP.NET -MVC -Projekte begegnen manchmal Probleme mit der Ansicht auf die Auflösung von Ansicht, da Standorte angezeigt werden, die nicht mit den Standard -Suchpfaden übereinstimmen. Dies führt häufig zu Fehlern wie "Die Ansicht 'Index' oder sein Meister konnten nicht gefunden werden". Die Lösung besteht darin, benutzerdefinierte Ansichtspositionen zu konfigurieren.

Wenn sich beispielsweise Ihre Controller in /Controllers/Demo und Ansichten in /Views/Demo befinden, müssen Sie die MVC -Laufzeit mitteilen, dass sie im Unterordner Demo nachsehen sollen. Dies kann erreicht werden, indem das WebFormViewEngine.

geändert wird

Erstellen einer benutzerdefinierten Ansichtsmotor:

Erstellen Sie zunächst eine benutzerdefinierte Ansichts -Engine -Klasse, die WebFormViewEngine:

erweitert
<code class="language-csharp">public class CustomViewEngine : WebFormViewEngine
{
    public CustomViewEngine()
    {
        var viewLocations = new[] {
            "~/Views/{1}/{0}.aspx",
            "~/Views/{1}/{0}.ascx",
            "~/Views/Demo/{0}.aspx",
            "~/Views/Demo/{0}.ascx",
            "~/Views/Shared/{0}.aspx",
            "~/Views/Shared/{0}.ascx"
        };

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

Dieser Code fügt den Standard -Ansichtspositionsformaten den /Views/Demo -Pfad hinzu. Der Vermittler {1} repräsentiert den Controller -Namen und {0} den Ansichtsnamen.

Registrieren Sie die benutzerdefinierte Ansichtsmotor:

Registrieren Sie Ihre benutzerdefinierte Ansichtsmotor Application_Start Global.asax.cs Dies ersetzt die Standardansichts -Engine durch Ihre benutzerdefinierte.

<code class="language-csharp">protected void Application_Start()
{
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new CustomViewEngine());
    // ... other application start code ...
}</code>
Diese Konfiguration stellt sicher, dass Controller innerhalb des Namespace "Demo" die Ansichten im Ordner "Demo" anzeigen, Konflikte zur Auflösung von Ansicht auflösen und eine gut organisierte Projektstruktur aufrechterhalten.

Das obige ist der detaillierte Inhalt vonWie kann ich Ansichtspositionen in ASP.NET MVC anpassen, um 'Ansicht nicht gefundene' Fehler zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn