ホームページ > バックエンド開発 > C++ > ASP.NET MVC でビューの検索場所をカスタマイズするにはどうすればよいですか?

ASP.NET MVC でビューの検索場所をカスタマイズするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-26 01:06:09
オリジナル
989 人が閲覧しました

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

ASP.NET MVC ビュー検索場所のカスタマイズ ガイド

ASP.NET MVC プロジェクトでは、ビューのデフォルトの検索場所は Views フォルダーです。ただし、特定のコントローラーに対応するビューを見つけるためにカスタムの場所を指定する必要がある状況が発生する場合があります。

たとえば、「Demo」名前空間にあるコントローラーが「Demo」サブフォルダー内のビューを検索する必要があるとします。この問題の解決策は、デフォルトの WebFormViewEngine を拡張し、カスタムの検索場所を定義することです。

これを行うには、WebFormViewEngine を継承する CustomViewEngine という新しいクラスを作成します。

<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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート