asp.net MVCの@RenderSectionとは?
RenderSectionは何のためにあり、どのように機能するのでしょうか?バンドルが何をするのかは理解していますが、これが何をするのか、そしてそれはおそらく重要なことなのだとまだ理解していません。
@RenderSection("scripts", required: false)
おそらく、それを使用する方法についての小さな例?
153
3
このような_Layout.cshtmlのビューがある場合
とすると、index.cshtml のコンテンツビューは以下のようになります。
は、レイアウトページを使用するビューがスクリプトセクションを持つ必要があるかどうかを示します。
もし
(1) このような _Layout.cshtml ビューがあります。
(2) Contacts.cshtmlがあります。
(3) About.cshtmlがあります。
レイアウトページで、requiredをfalseにすると "@RenderSection("scripts", required: false)", ページが表示され、ユーザーがaboutページにいる場合、contacts.jsは表示されません'この場合、aboutページが表示されるようになります。
requiredがtrueに設定されている場合 "@RenderSection("scripts", required: true)", ページがレンダリングされ、ユーザーがABOUTページにいるとき、contacts.jsはまだレンダリングされます。
*要するに、true に設定すると、他のページで必要であろうとなかろうと、とにかくレンダリングされるようになります。 false**に設定すると、子ページがレンダリングされるときにのみレンダリングされます。
MSDNに掲載されているRendersectionの定義を以下に示します。
_layout.cs ページに
ここでは、bootomセクションの内容をレンダリングし、そのセクションが必要かどうかを指定するために
false
ブール型プロパティを指定しています。つまり、すべてのページで最下段のセクションを表示したい場合は、Rendersectionメソッドの2番目のパラメータにfalseを指定する必要があります。