3

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>

ありがとう、

ブラッド

4

1 に答える 1

5

のページは、クラスを継承するようにApp_Codeハードコーディングされています。WebRazorHostFactory HelperPage

このデフォルトは変更できません。

于 2011-06-10T02:11:18.027 に答える