Sesuaikan kedudukan carian paparan dalam ASP.NET MVC
Apabila menganjurkan projek MVC, mungkin perlu untuk menentukan lokasi tersuai untuk operasi carian paparan. Ini membolehkan pengawal mencari paparan dalam subfolder tertentu untuk menampung projek dengan struktur direktori yang unik.
Soalan:
Dalam projek dengan reka letak berikut:
<code>/Controllers /Demo /DemoArea1Controller /DemoArea2Controller 等等... /Views /Demo /DemoArea1/Index.aspx /DemoArea2/Index.aspx</code>
Gunakan DemoArea1Controller dengan kod berikut:
<code>public ActionResult Index() { return View(); }</code>
akan mengakibatkan ralat "Lihat 'indeks' atau halaman induknya tidak ditemui". Secara lalai, MVC mencari paparan dalam:
Masalah ini berlaku kerana pengawal menjangkakan untuk mencari paparan Index.aspx dalam ~/Views/DemoArea1, tetapi paparan terletak dalam ~/Views/Demo/DemoArea1/Index.aspx.
Penyelesaian:
Untuk menentukan lokasi tersuai untuk operasi carian lihat, lanjutkan kelas WebFormViewEngine:
<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>
Dalam enjin lanjutan ini, lokasi carian tambahan ~/Demo/Views/{1}/{0}.aspx ditambahkan pada senarai lokasi paparan. Ini membenarkan pengawal dalam ruang nama Demo untuk mencari paparan dalam subfolder paparan Demo.
Ingat untuk mendaftarkan enjin paparan tersuai anda dalam kaedah Application_Start Global.asax.cs:
<code>protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new CustomViewEngine()); }</code>
Dengan mencipta enjin paparan tersuai, pembangun boleh menentukan lokasi carian tambahan untuk paparan dengan mudah, memberikan fleksibiliti dan organisasi dalam projek ASP.NET MVC.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Lokasi Carian Lihat dalam ASP.NET MVC untuk Cari Paparan dalam Subfolder Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!