回答:
ようやく答えが見つかりました。
@using MyNamespace
VB.Netの場合:
@Imports Mynamespace
アプリ全体に名前空間を含めたい場合は、@ ravy amiryの回答をご覧ください。
最初の方法は、名前空間を現在のファイルのみにインポートするファイル内の@using
ステートメントを使用.cshtml
し、2番目の方法は次のとおりです。
Views
プロジェクトの「」ディレクトリにある「web.config」ファイル(プロジェクトのルートにあるメインのweb.configではないことに注意してください)で、次のセクションを見つけます。
<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
に感謝します。彼は言った:
エリア内で作業している場合はnamespace
、Web.config
下で/Areas/<AreaName>/Views/
はなく
下にを追加する必要があります/Views/
図書館向け
@using MyNamespace
モデル用
@model MyModel
using
.csファイルの先頭には、C#コンパイラキーワードです。@using
.cshtmlファイルの先頭には、カミソリのテンプレートエンジンへのヒントです。
ASP.NET MVC 3 Preview1では、Global.asax.csのこのコードを使用して、すべてのかみそりビューに名前空間をインポートできます
Microsoft.WebPages.Compilation.CodeGeneratorSettings.AddGlobalImport("Namespace.Namespace");
私はRTMでこれがWeb.configセクションを通じて行われることを願っています。
私はこの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の前に実行されます。
Microsoft.WebPages.Compilation.AddGlobalImport
に変更されましたSystem.Web.WebPages.Razor.WebCodeRazorHost.AddGlobalImport
。
あなたが知っている必要があることを1つの問題は、あなたが経由で名前空間をインポートするときにということですweb.config
でViews
そのフォルダnamespace
にインポートされJUSTその内のビューでフォルダ。インポートしたい場合は、手段namespace
でエリアの景色、あなたもそれをインポートする必要がありnamespace
、その領域の中で、web.config
地域の中にあるファイル、Views
フォルダ、
かみそりビューで名前空間をインポートするには、以下の方法を追加する必要があるだけだと思います。
@using XX.YY.ZZ
必要に応じて、次のいずれかの方法を使用できます。
後続のすべてのビューで必要な場合は、「using your.domainName;」を追加します。_ViewStart.cshtml。これについて詳しくは、次の場所を参照してください:_ViewStart.cshtmlレイアウトファイルはどこにどのようにリンクされていますか?