ASP 数据列表在每行数据之间添加一个空行

ASP data list is adding a blank row inbetween each row with data

这是我的前端代码:

<asp:DataList ID="DataList1" runat="server" CssClass="table table-striped1 table-hover">
    <HeaderTemplate>
        <tr class="thead">
            <th scope="col">one</th>
            <th scope="col">two</th>
            <th scope="col">three</th>
            <th scope="col">four</th>
            <th scope="col">five</th>
            <th scope="col">six</th>
            <th scope="col">seven</th>
            <th scope="col">eight</th>
            <th scope="col">nine</th>
            <th scope="col">ten</th>
        </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <asp:Label ID="lblDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Date")%>'></asp:Label></td>
            <td>
                <asp:LinkButton ID="lbOrderNo" runat="server" PostBackUrl='<%# DataBinder.Eval(Container.DataItem, "OrderLink")%>'><%# DataBinder.Eval(Container.DataItem, "OrderNo")%></asp:LinkButton></td>
            <td>
                <asp:Label ID="lblPO" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PO")%>'> </asp:Label>
            </td>
            <td>
                <asp:Label ID="lblInvoiceNo" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Invoices")%>'> </asp:Label></td>
            <td>
                <asp:Label ID="lblLines" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Lines")%>'></asp:Label></td>
            <td class="Price">$<asp:Label ID="lblTotal" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Total")%>'></asp:Label></td>
            <td>
                <asp:Label ID="lblStatus" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Status")%>'> </asp:Label>
            </td>
            <td>
                <asp:Label ID="lblSource" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Via")%>'></asp:Label></td>
            <td>
                <asp:Label ID="lblShipper" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Shipped")%>'></asp:Label></td>
            <td>
                <asp:LinkButton ID="lbTracking" runat="server" OnClientClick='<%# DataBinder.Eval(Container.DataItem, "blank")%>'><%# DataBinder.Eval(Container.DataItem, "Tracking")%> </asp:LinkButton></td>
        </tr>
    </ItemTemplate>
</asp:DataList>

^这是我网站上显示的内容

^这是正在制作的额外行

是我的代码出错了还是您认为这是数据库问题?

这是 DataList 生成 html 的方式。它创建了它自己的 table。 Header 和 Item Template 会自动获得一个 <tr><td> </td></tr> 来呈现内容。

因为您还添加了一个 <tr>,它变成了嵌套并且无效 html。这就是您正在创建的内容:

<tr>
   <td>
      //start template content
      <tr>
         <td>

         </td>
      </tr>
      //end template content
   </td>
</tr>

如果您要创建 table,请开始使用 GridView。或者,如果您想生成自己的 table 结构,一个 Repeater。