19

プロジェクトの名前空間を web.config に追加して、Razor ビュー エンジンがプロジェクト内のすべてのページにプロジェクトの名前空間を含めることはできませんか? そのようです:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />

        <add namespace = "MyProjectNamespace.NestedNamespace"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

機能していません。

4

3 に答える 3

28

名前空間は、ルート プロジェクトの web.config ではなく、Views フォルダーの web.config ファイルに追加する必要があります。これにより、そのビュー フォルダーのみにあるすべての cshtml ファイルの名前空間がインポートされます。プロジェクトに MVC エリアがある場合、各エリアには独自の Views フォルダーと個別のビュー web.config ファイルがあります。これらのビューに名前空間をインポートするには、各領域のビュー フォルダーの web.config にも名前空間を追加する必要があります。

于 2012-12-31T13:55:48.010 に答える
-3

同じフォルダーまたはサブフォルダー内のすべてのビューをカバーする@usingステートメントをファイルに追加することもできます。_ViewStart.cshtml

@using MyProjectNamespace.NestedNamespace
于 2013-01-01T19:57:37.770 に答える