768

Razor View Pageで名前空間をインポートする方法は?

4

11 に答える 11

879

最後に答えを見つけました。

@using MyNamespace

VB.Net の場合:

@Imports Mynamespace

アプリ全体に名前空間を含めたい場合は、@ravy amiry の回答をご覧ください。

于 2010-07-14T09:38:44.643 に答える
407

最初の方法は、名前空間を現在のファイルのみにインポートするファイル内のuse@usingステートメントであり、2 番目の方法は次のとおりです。.cshtml

プロジェクトの" " ディレクトリにある "web.config" ファイル(プロジェクトのルートにあるメインの web.config ではないViewsことに注意してください)で、次のセクションを見つけます。

<system.web.webPages.razor>
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      .
      .
      <!-- etc -->
    </namespaces>
  </pages>
</system.web.webPages.razor>

次のようにカスタム名前空間を追加できます。

<add namespace="My.Custom" />

これにより、すべての .cshtml (および/または .vbhtml) ファイルに名前空間が追加されます。また、次のように、ここからビューの継承を変更できます。

<pages pageBaseType="My.Custom.MyWebViewPage">

よろしく。


更新:Nick Silbersteinエリアに関するリマインダー@ に感謝します! 彼は言った:

area内で作業している場合は、ではなく namespaceWeb.config下に を追加する必要があります/Areas/<AreaName>/Views//Views/

于 2011-07-17T09:47:09.353 に答える
32

図書館用

@using MyNamespace

モデル用

@model MyModel
于 2016-01-19T08:03:06.030 に答える
27

ASP.NET MVC 3 Preview1では、Global.asax.csのこのコードを使用して、すべてのかみそりビューに名前空間をインポートできます。

Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");

RTMでは、これがWeb.configセクションを介して行われることを願っています。

于 2010-07-28T06:47:37.333 に答える
16

すべてのカミソリ ページにカスタム名前空間を追加する方法を説明しているhttp://weblogs.asp.net/mikaelsoderstrom/archive/2010/07/30/add-namespaces-with-razor.aspxを見つけました。

基本的にこれで作れます

using Microsoft.WebPages.Compilation;
public class PreApplicationStart
{
   public static void InitializeApplication()
   {
       CodeGeneratorSettings.AddGlobalImport("Custom.Namespace");
   }
}

次のコードを AssemblyInfo.cs に追加します。

[assembly: PreApplicationStartMethod(typeof(PreApplicationStart), "InitializeApplication")]

メソッド InitializeApplication は、global.asax の Application_Start の前に実行されます。

于 2011-04-27T04:40:42.270 に答える
14

知っておく必要がある 1 つの問題はweb.configViewsフォルダー内を介して名前空間をインポートすると、そのフォルダーのビューに対してnamespaceのみインポートされることです。つまり、ある領域のビューに をインポートする場合は、その領域のフォルダにあるその領域のファイルもインポートする必要があります。namespacenamespaceweb.configViews

于 2011-09-07T23:25:35.453 に答える
3

「MyNamespace の使用」は MVC3 RTM で機能します。お役に立てれば。

于 2011-01-15T16:28:43.287 に答える
2

かみそりビューで名前空間をインポートするには、以下の方法を追加するだけでよいと思います。

@using XX.YY.ZZ
于 2015-12-03T13:39:15.980 に答える