ASP.NET Repeater Item在每行之后添加分隔符

时间:2013-08-26 14:01:30

标签: c# asp.net repeater

我有以下的Repeater,我试图在每一行之后添加一个分隔符(虚线或类似的)但是样式搞砸了,我做错了什么?

代码:

<ItemTemplate>
<table id="tableItem" runat="server">
<tr>
<td style="width:400px;">
          <%--   <asp:Label ID="lblEmployeeId" runat="server" Text='<%#Eval("EmployeeId") %>' ></asp:Label>--%>
            <asp:HiddenField ID="HdnEmployeeId" runat="server" Value='<%#Eval("EmployeeId") %>' />
            <asp:Literal Text="" runat="server" ID="LiteralUser" ></asp:Literal>
</td>
</tr>
    <tr>
            <td style="width: 100px;">
                <asp:HiddenField ID="HdnRequestId" runat="server" Value='<%#Eval("id") %>' />
                <asp:Label ID="lblDate" runat="server" Text='<%#Eval("Date", "{0:dd/M/yyyy}") %>'></asp:Label>
            </td>
            <td style="width: 80px;">
                <asp:Label ID="lblHours" runat="server" Text='<%#Eval("Hours") %>'></asp:Label>
            </td>
            <td style="width: 50px; font-size:10px;">
                <asp:Label ID="lblPeriod" runat="server" Text='<%#Eval("AMorPM") %>'></asp:Label>
            </td>
            <td style="width: 850px; font-size:10px;">
                <asp:Label ID="lblNote" runat="server" Text='<%#Eval("Note") %>'></asp:Label>
            </td>
            <td style="50px">
                <asp:RadioButtonList ID="rbtVerified" runat="server" >
                    <asp:ListItem Value="1">Accept</asp:ListItem>
                    <asp:ListItem Value="2">Reject</asp:ListItem>
                </asp:RadioButtonList>
            </td>
            <td>
                <asp:TextBox ID="txtNotes" runat="server" ></asp:TextBox>
            </td>
        </tr>
        <tr>
        <td style="width:900px;">
        <asp:Label ID="lblBreak" runat="server" Text="------------------------------------------------------------------------------"></asp:Label>
        </td>
        </tr>
</table>

按样式搞砸了我的意思是虚线只显示在第一列(lblDate)下面,lblDate宽度被展开。

3 个答案:

答案 0 :(得分:3)

您可以使用分隔符模板并在其中插入<hr />

<asp:Repeater runat="server" ID="rp">
<SeparatorTemplate>
    <hr />
</SeparatorTemplate>
</asp:Repeater>

答案 1 :(得分:0)

由于您的中间TR有6个TD,因此在第1行和最后一行向TD添加属性colspan =“6”

<td colspan="6" style="width:400px;">

 ...

<td colspan="6" style="width:900px;">

顺便说一句,你为第一个和最后一个TD指定了不同的宽度,两者都小于内部TD的摘要宽度,因此这些样式不会有任何影响,可以删除。

答案 2 :(得分:0)

另一种方法是在模板的最末端吐出div并将其边框更改为点线。我倾向于经常使用这种方法,因为它使我能够通过定位div并在其周围添加边距来轻松地在每个项目之间添加空间。

这样的事情:

<ItemTemplate>
    ...
    <div class="divider"></div>
</ItemTemplate>

.divider
{
   border: 1px dotted #C5C5C5;
   height: 5px;
   margin-bottom: 15px;
   width: 100%;

}