我想将布局页面的主体分为两部分:实际主体和侧边栏。该侧边栏可以包含 0、1 或更多<div>
元素,这些元素将我在视图中静态定义的控件或数据组合在一起。为了不在每个视图上重复此 div 结构,我想将其拆分为布局页面上的一个部分。但是,由于一个部分不能在视图上多次定义,我不能重复它们。
我可以静态定义一些侧边栏部分,如下所示,但这似乎是一种肮脏的方式:
<div id="sidebar1">
@RenderSection("Sidebar1", false))
</div>
<div id="sidebar2">
@RenderSection("Sidebar2", false))
</div>
有没有办法动态定义这种类型的布局?
我已经看到一些关于模板化 Razor Delegates 的提及,它可以用作将参数封装在 div 块中的函数:
@{
Func<dynamic, object> div = @<div class="block">@item</div>;
}
@div("Block 1")
@div("Block 2")
但是这些似乎只接受不是我正在寻找的文本,并且在布局上定义时它们不会被视图继承。