如何将动态HyperLinks设置为表格单元格

时间:2013-12-05 16:47:35

标签: c# html asp.net repeater

我在aspx中有这样的结构。

                <tr>
                    <td>
                        Values: 
                        <asp:Repeater ID="repeater1" runat="server" OnItemDataBound="repeater1_ItemDataBound" OnItemCommand="repeater1_ItemCommand">
                            <ItemTemplate>
                                <asp:HyperLink ID="hlk" runat="server" />
                            </ItemTemplate>
                        </asp:Repeater>
                    </td>
                </tr>

在数据绑定事件中,我绑定了这个超链接,当我添加许多值时,(超链接)我的表开始水平增长,我希望当单元格中没有更多空格时,它们必须在下一行继续绑定。 / p>

那么我在html结构中缺少什么才能产生这种行为?

这就是发生的事情

Values: AAA BBB CCCC DDD EEEEE FFF GGG HHH III JJJJJ KKK .....

我想要这个

Values: AAA BBB CCCC DDD
        EEEEE FFF GGG HHH
        III JJJJJ KKK ....
        ................
        ..........

2 个答案:

答案 0 :(得分:1)

您需要以您希望结构的方式创建项目模板。在添加需要在代码中进行一些操作的4个项目之后,您需要告诉Repeater添加一行。但是对于您的方案,使用 DataList 将是最佳选择。您可以将 RepeatLayout 指定为表格,并将 RepeatColumns 设置为您想要的数量,它会自动格式化数据。

<asp:DataList ID="rptLinks" runat="server" RepeatColumns="3" RepeatLayout="Table">
       <ItemTemplate>
              <table width="100%">
                    <tr>
                         <td>
                             <asp:HyperLink ID="hlk" runat="server" />                                                                       
                         </td>                                                                                                                                       
                    </tr>                                                                 
              </table>
        </ItemTemplate>
</asp:DataList>

答案 1 :(得分:0)

如果表格的宽度有限,超链接应该换行。

尝试定义表/列宽您可以尝试使用内联CSS:

<head>
    <style>
       table {width: 100%}
       td {width: 20px}
    </style>
</head>