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