回答:
ようやく答えが見つかりました。
@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レイアウトファイルはどこにどのようにリンクされていますか?