14

私が使用している MVC4 カミソリのレイアウトでは@RenderSection、気にしません@RenderBody

次に、ビューですべてをセクションに配置します。

これは、@RenderBodyものをセクションに入れたくない人にとって簡単にする以外に、何の意味があるのだろうと思います。と違う@RenderBodyものと の中に何かあり@RenderSectionますか?

4

1 に答える 1

20

@RenderBody名前付きセクション内にないページのコンテンツをレンダリングします。すべてのコンテンツが、定義したセクションの 1 つに収まっている 場合、意味がありません。でも...

Razor 構文では、@RenderSectionマスター ページを置き換えます。@RenderBodyこれにより、特定の領域のページのセクションを切り取ることができ、宣言が配置されている場所にコンテンツの本体が自然に現れるようになります。

あなたが請求書を書いているとしましょう。このRenderBody領域は、請求書の項目を含むページの部分になります。これはほとんどのレポートに当てはまります。ヘッダー セクション、ボディ セクション、フッター セクションが必ずあります。

おそらく、Web ページの適切な領域にセクションをレンダリングすると、ページの下部に常に表示されるようにフッターをスタイリングするなど、適切なセマンティック動作を得ることができます。

<footer>
  @RenderSection("Footer", @<span>This is my footer!</span>)
</footer>

http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3razor_topic2.aspx

http://haacked.com/archive/2011/03/05/defining-default-content-for-a-razor-layout-section.aspx

于 2013-01-14T16:31:07.270 に答える