Heim > Backend-Entwicklung > C++ > Wie kann ich Ansichtssuchorte in ASP.NET MVC anpassen, um Ansichten in bestimmten Unterordnern zu finden?

Wie kann ich Ansichtssuchorte in ASP.NET MVC anpassen, um Ansichten in bestimmten Unterordnern zu finden?

Mary-Kate Olsen
Freigeben: 2025-01-26 00:56:10
Original
594 Leute haben es durchsucht

How Can I Customize View Search Locations in ASP.NET MVC to Find Views in Specific Subfolders?

Benutzerdefinierter Standort in ASP.NET MVC

Bei der Organisation des MVC -Projekts müssen Sie möglicherweise den benutzerdefinierten Ort des Betrachtungsvorgangs angeben. Auf diese Weise kann der Controller Ansichten in einem bestimmten Unterordner finden, sich an Projekte mit einzigartigen Verzeichnisstrukturen anzupassen.

<:> Frage:

In einem Projekt mit dem folgenden Layout:

Demoarea1Controller mit dem folgenden Code:

<code>/Controllers
    /Demo
        /DemoArea1Controller
        /DemoArea2Controller
        等等...
/Views
    /Demo
        /DemoArea1/Index.aspx
        /DemoArea2/Index.aspx</code>
Nach dem Login kopieren

Es wird verursacht, dass "die Ansicht 'Index' oder seine Mutterversionsseite" verursacht wird. Standardmäßig sucht die MVC am folgenden Ort:

<code>public ActionResult Index()
{
    return View();
}</code>
Nach dem Login kopieren

~/Views/Controllername/actionName.aspx

    ~/Views/Controllername/actionName.ascx
  • ~/views/Shared/actionName.aspx
  • ~/Views/Shared/actionName.ascx
  • Dieses Problem liegt daran, dass der Controller erwartet, dass die Index.aspx -Ansicht in ~/Views/Demoarea1 ermittelt wird. Die Ansicht befindet sich jedoch in ~/Views/Demo/Demoarea1/index.aspx.
Lösung:

Um die benutzerdefinierte Position für den Suchvorgang der Ansicht anzugeben, erweitern Sie bitte die WebFormViewEngine -Klasse:

In dieser erweiterten Engine wurde die zusätzliche Suchposition ~/Demo/Ansichten/{1}/{0} .aspx zur Ansichtspositionsliste hinzugefügt. Auf diese Weise kann der Controller im Demo -Namensbereich die Ansicht in der Demo -Anzeige von Bincker finden.

Denken Sie daran, eine benutzerdefinierte Ansichtsmotor in der Methode application_start von global.asax.cs:
<code>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>
Nach dem Login kopieren
zu registrieren:

Durch das Erstellen einer benutzerdefinierten Ansichts -Engine können Entwickler den zusätzlichen Suchort der Ansicht problemlos angeben, um Flexibilität und Organisation im ASP.NET -MVC -Projekt zu bieten.

Das obige ist der detaillierte Inhalt vonWie kann ich Ansichtssuchorte in ASP.NET MVC anpassen, um Ansichten in bestimmten Unterordnern zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage