質問

ASP.NET WebPagesフレームワークでは、コンテンツブロックとヘルパーの使用の違いは何ですか?

どちらも、HTMLを複数のページに出力するために使用されているようです。どちらもコードを含めることができ、両方ともパラメーターを渡すことができます。

他に違いはありますか?コンテンツブロックとヘルパーをいつ使用する必要がありますか?

より詳しい情報:

コンテンツブロックを使用すると、.cshtml(_makenote.cshtml)ファイルを作成して、ページに挿入するコンテンツを保持します。次に、次のように使用します。

@RenderPage("/Shared/_MakeNote.cshtml") 

コンテンツをページに挿入します。このようなコンテンツブロックにパラメーターを渡すことができます。

@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" })

それはややインクルードファイルのようなものですが、親ページと範囲を共有していないと思います。

ヘルパーを使用すると、app_codeフォルダー(myhelpers.cshtmlなど)に.cshtmlページを作成し、呼び出したいページにメソッドを配置します。この方法は次のようになります:

@helper MakeNote(string content) {
    <div>@content</div>
}

ヘルパーは以下を使用して呼び出されます。

@MyHelpers.MakeNote("Hello from helper")
役に立ちましたか?

解決

機能的には多くの違いはありません。ヘルパーは、VWDまたはVisual C#Expressをダウンロードしてバイナリをコンパイルしない限り、app_codeフォルダーに移動する必要があります。App_CodeフォルダーはMVCフレームワークにうまく変換されません。もちろん、それはある時点でMVCにアップグレードする場合にのみ関連します。

私はあなたのマケノートのような一般的な機能的スニペットにヘルパーを使用します。ページのサイト固有のセクションを繰り返すために、「コンテンツブロック」(部分的、本当に)を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top