0

基本上,我要求执行以下操作的最佳方法:我有这样的布局

<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 将重复 3 次,每个内部 div 重复 4 次。我在 ASP.net 中执行此操作,信息来自数据库(可能通过 Linq)...

我问的是使用嵌套中继器并通过 for/foreach 循环一次为每个中继器喂食四个记录,还是将外部 div 输出为文字更好?

已编辑

<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>

还是只有一个,在顶部和底部带有开头/结尾的文字,仅在需要时才可见?

编辑:有没有人有一个例子是如何做到的^^^

4

1 回答 1

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的 s 都将包含在同一个 external 中div

嵌套中继器?

如果您的inner元素根据数据是动态的,那么您当然应该使用嵌套转发器,但如果 everyouter将包含四个inner,那么我认为嵌套转发器没有任何好处。它实际上会执行更慢并消耗更多资源。那是你不想要的,是吗?

于 2011-03-22T11:26:07.283 回答