首頁 > 後端開發 > C++ > 如何在ASP.NET MVC中自定義查看搜索位置?

如何在ASP.NET MVC中自定義查看搜索位置?

Linda Hamilton
發布: 2025-01-26 01:06:09
原創
951 人瀏覽過

How to Customize View Search Locations in ASP.NET MVC?

ASP.NET MVC視圖搜尋位置自訂指南

在ASP.NET MVC專案中,視圖的預設搜尋位置是Views資料夾。但是,您可能會遇到需要為特定控制器指定自訂位置來尋找其對應視圖的情況。

例如,假設"Demo"命名空間下的控制器需要在"Demo"子資料夾中搜尋視圖。解決此問題的方案是擴展預設的WebFormViewEngine並定義自訂搜尋位置。

為此,建立一個名為CustomViewEngine的新類,該類繼承自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",
            "~/Demo/Views/{0}.ascx"
        };

        this.PartialViewLocationFormats = viewLocations;
        this.ViewLocationFormats = viewLocations;
    }
}</code>
登入後複製

在建構函式中,定義自訂搜尋位置。在此範例中,我們將"~/Demo/Views/{0}.ascx"新增至搜尋位置清單中,允許"Demo"命名空間中的控制器在"Demo"子資料夾中搜尋。

最後,在Global.asax.cs檔案的Application_Start方法中註冊自訂檢視引擎:

<code class="language-csharp">protected void Application_Start()
{
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new CustomViewEngine());
}</code>
登入後複製

現在,當您使用"Demo"命名空間中的控制器時,它們將自動在預設的Views資料夾和"Demo"子資料夾中搜尋視圖。這使您可以邏輯地組織視圖資料夾並保持一致的命名約定。

以上是如何在ASP.NET MVC中自定義查看搜索位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板