私の環境:Razorを使用したASP.NET MVC3。
ディレクトリ内の宣言型ヘルパーには、再利用可能なビュー ロジックがいくつかあります。これらは、使用するすべてのビューに対してパブリックApp_Data
として定義されています。@helper bar() { /* markup */ }
また、通常の Razor ビューでは、「プライベート」ヘルパーを次のように記述できます。
@functions {
public IHtmlString foo() { return new MvcHtmlString("foo"); }
}
宣言型ヘルパー内に「プライベート」関数を持ちたい、または、宣言型ヘルパー ファイル内に「プライベート」宣言型ヘルパーを持ちたい。別の方法として、通常のヘルパー クラスを作成することもできますが、この場合はマークアップの方が冗長でなく、保守が容易であるため、より好まれます。
なぜこれをしたいのですか?ビューがあり、何らかのマークアップを取り込みたいとします。これは、宣言型ヘルパーを参照することによって行われます。しかし、その DH は、共通のマークアップを使用する他の DH でいっぱいのファイルにあります。したがって、そのすべての共通点を 1 つの場所に移動する必要があります。つまり、そのファイル内の DH のみが表示できる「プライベート」宣言関数/ヘルパーです。