Mencari paparan dalam folder bukan standard: Penyesuaian lokasi paparan ASP.NET MVC
ASP.NET MVC mencari paparan di lokasi tertentu dalam sistem fail secara lalai. Walau bagaimanapun, menyesuaikan lokasi carian ini boleh berguna apabila projek disusun dalam cara yang tidak standard. Artikel ini meneroka cara untuk menentukan kedudukan paparan tersuai.
Gambaran Keseluruhan Masalah
Andaikan struktur projek adalah seperti berikut: pengawal terletak di /Controllers/Demo
dan pandangan terletak di /Views/Demo
. Kod pengawal berikut mungkin menyebabkan ralat:
<code class="language-csharp">public class DemoArea1Controller : Controller { public ActionResult Index() { return View(); } }</code>
Lokasi carian lalai tidak termasuk folder /Views/Demo
, jadi ralat akan dilaporkan, menunjukkan bahawa paparan "Indeks" tidak dapat ditemui.
Penyelesaian
Untuk menentukan kedudukan paparan tersuai, anda boleh melanjutkan kelas WebFormViewEngine
dan mengubah suai atribut PartialViewLocationFormats
dan 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>
Enjin paparan dikemas kini ini termasuk /Demo/Views
folder dalam lokasi carian.
Tatarajah
Akhir sekali, daftarkan enjin paparan tersuai dalam kaedah Global.asax.cs
Application_Start
:
<code class="language-csharp">protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new CustomViewEngine()); }</code>
Dengan pengubahsuaian ini, ASP.NET MVC kini akan mencari paparan dalam lokasi lalai dan folder /Demo/Views
tersuai.
Atas ialah kandungan terperinci Bagaimanakah saya dapat menyesuaikan lokasi melihat di ASP.NET MVC untuk mencari pandangan dalam folder bukan standard?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!