基本上,我要求最好的方法来执行以下操作: 我有这样的布局
<div class="outer">
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
</div>
<div class="outer">
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
</div>
<div class="outer">
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
<div class="inner"><!-- content --></div>
</div>
因此,外部div将重复三次,每个内部div重复四次。我在ASP.net中这样做,信息来自数据库(可能通过Linq)......
我问的是,使用嵌套转发器和勺子通过for / foreach循环一次为每个转发器提供4条记录,或者将外部div作为文字输出更好吗?
EDITED
<asp:Repeater ID="MyOuterRepeater" runat="server">
<ItemTemplate>
<div class="outer">
<asp:Repeater ID="MyInnerRepeater" runat="server">
<ItemTemplate>
<div class="inner">
<!-- content -->
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
或者只有一个,在顶部和底部有开头/结尾文字,只在需要时才能看到它们?
编辑:有没有人举例说明如何做^^^
答案 0 :(得分:0)
您的转发器定义不会创建您在问题中提供的结果HTML。它应该是:
<asp:Repeater ID="MyOuterRepeater" runat="server">
<ItemTemplate>
<div class="outer">
<asp:Repeater ID="MyInnerRepeater" runat="server">
<ItemTemplate>
<div class="inner">
<!-- content -->
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
否则, outer div
只会呈现一次,所有inner
div
都会包含在同一个外div
中。
如果您的inner
元素是动态的,具体取决于数据,您当然应该使用嵌套转发器,但如果每个outer
将包含四个inner
,那么我看不到任何好处有嵌套的中继器。它实际上会执行得更慢并消耗更多资源。那是你不想要的东西,是吗?