App_Code ディレクトリでの宣言型ヘルパーの使用に問題があります。ローカリゼーション メソッドを含む、ビューのベース webviewpage を作成しました。また、CSS 名を中心に展開する、ヘルパーに使用する列挙型のコレクションもあります。
たとえば、DataRole は、表示用に許可された CSS クラスを参照する列挙型であり、GetStr は、ラベルのローカリゼーション値を出力するための基本クラスのメソッドです。
@helper ReadOnlyColumns(DataRole role, string label, string contents)
{
<div class="@role">@GetStr(label)</div>
}
私の web.config には、基本ページ タイプの定義と、含める正しい名前空間があります。これらの設定は、App_Code ディレクトリにないビューに対して機能します。
App_Code ディレクトリを機能させる方法を知っている人はいますか? その中にweb.configを入れるべきですか?私は途方に暮れています。
@implements と @using を実行できることは知っていますが、それは機能します。しかし、私は私たちのソフトウェアの基盤を構築しようとしており、私たちが書くすべてのページで絶対に使用されるものを含める必要があるとは思わない.
編集、これはルートとすべてのビュー ディレクトリの web.config 設定です。
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="Company.Web.BaseWebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Company.Web" />
<add namespace="Company.Web.Enums" />
</namespaces>
</pages>
</system.web.webPages.razor>
ありがとう、
ブラッド