在webforms中,我在中继器(Hieararchical模型)中使用了中继器。如何在MVC中实现同样的功能?
示例:
Data1 Data2
subdata1 subddata3
subdata2 subdata4
Data3 data4
subdata5 subdata7
subdata6 subdata8
我还需要一个如上所示的两列布局。有什么想法吗?
发布于 2010-07-07 20:56:03
我不记得我是在哪里读到这篇文章的,但它适用于你:
--但是在MVC中我们至少需要一个转发器控件吗?
--我们有一个中继器控件。它被称为for each循环
假设您的视图模型有一个IEnumerable<SuperDuper>
类型的名为Data
的属性。要迭代它,您只需执行以下操作
<% foreach (var sd in Model.Data) { %>
<!-- write out fancy stuff -->
<% } <%>
要迭代子数据,假设SuperDuper
有一个名为SubData
的属性,该属性也是一个IEnumerable<Something>
。没有什么能阻止你去做
<% foreach (var sd in Model.Data) { %>
<!-- write out some fancy stuff -->
<% foreach (var sub in sd.SubData) { %>
<!-- write out some more fancy stuff -->
<% }
} %>
对于两列布局,求助于CSS。
由于Razor正在开发中,我忍不住要向您展示这些示例在新引擎上会是什么样子:
@foreach (var sd in Model.Data) {
<!-- write out fancy stuff -->
}
@foreach (var sd in Model.Data) {
<!-- write out some fancy stuff -->
@foreach (var sub in sd.SubData) {
<!-- write out some more fancy stuff -->
}
}
发布于 2010-07-07 21:06:37
在spark view engine中,你可以这样做:
<div each="var item in Model.Data">
${item.Title}
<div each="var subItem in item.SubData" style="padding-left: 20px">
${subItem.Title}
<!-- Do some fancy stuff -->
</div>
</div>
剃刀?讨厌!;)
https://stackoverflow.com/questions/3194765
复制相似问题