1

我有以下中继器:

<table>
        <asp:Repeater runat="server" ID="rptBrandRepeater">
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:HyperLink runat="server" ID="lnkCompanyLink">
                            <asp:Image runat="server" ID="imgCompanyLogo" />
                        </asp:HyperLink>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
</table>

我想每四个表格单元格开始一个新行。

我不想使用 jQuery 或 Javascript 来完成此操作。

输出的 html 应该看起来像这个页面: http ://rmtequipment.com/golfandturf.aspx

我制作了一个界面,允许他们自己添加这些徽标。所以这个页面将是动态构建的。

实现这一目标的最佳方法是什么?

如果列表视图或网格视图是一种更好的方法,我也对此持开放态度。

提前致谢。

4

2 回答 2

2

在我看来,最好的方法是改用DataList。您可以通过属性和要使用的布局来控制RepeatDirection项目的数量以及列的数量。RepeatColumnsRepeatLayout

所以你的 DataList 将被定义为:

<asp:DataList RepeatDirection="Horizontal" RepeatColumns="4" RepeatLayout="Table" ...
于 2012-09-07T15:37:01.293 回答
1

您最好的方法是摆脱表格并使用浮动div元素,因为它不是表格也不包含表格数据。

<asp:Repeater runat="server" ID="rptBrandRepeater">
    <ItemTemplate>
        <div class="logo">
            <asp:HyperLink runat="server" ID="lnkCompanyLink">
                <asp:Image runat="server" ID="imgCompanyLogo" />
            </asp:HyperLink>
        </div>  
    </ItemTemplate>
</asp:Repeater>

然后样式化你的 div

div.logo{ float: left; width: 200px; display: inline; }

然后,这将根据包含所有这些徽标的元素的宽度自然地中断到下一个“行”。

有关示例,请参见此基本演示:http: //jsfiddle.net/ygnEa/

于 2012-09-07T15:13:45.683 回答