レイアウト ページの本体を、実際の本体とサイドバーの 2 つのセクションに分割したいと考えています。そのサイドバーには、ビューで静的に定義するコントロールまたはデータをグループ化する 0、1、または複数の<div>
要素を含めることができます。すべてのビューでこの div 構造を繰り返さないようにするために、これをレイアウト ページのセクションに分割したいと思います。ただし、ビューでセクションを複数回定義することはできないため、それらを繰り返すことはできません。
次のようにいくつかのサイドバー セクションを静的に定義できますが、これは汚い方法のようです。
<div id="sidebar1">
@RenderSection("Sidebar1", false))
</div>
<div id="sidebar2">
@RenderSection("Sidebar2", false))
</div>
このタイプのレイアウトを動的に定義する方法はありますか?
div ブロックにパラメーターをカプセル化する関数として使用できる、テンプレート化された Razor デリゲートについての言及をいくつか見ました。
@{
Func<dynamic, object> div = @<div class="block">@item</div>;
}
@div("Block 1")
@div("Block 2")
しかし、これらは私が探しているものではないテキストのみを受け入れるようであり、レイアウトで定義されたときにビューに継承されません。