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。
这是我的前端代码:
<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。