ASP-список данных добавляет пустую строку между каждой строкой с данными - PullRequest
0 голосов
/ 11 мая 2018

Это мой код переднего конца здесь:

<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>

1st error

^ это то, что отображается на моем сайте

2nd error

^ это дополнительная строка, которая создается

Я допустил ошибку в своем коде или вы думаете, что это проблема с базой данных?

1 Ответ

0 голосов
/ 11 мая 2018

Это способ, которым DataList генерирует html.Создает свою собственную таблицу.И шаблон заголовка и элемента автоматически получает <tr><td> </td></tr>, в котором отображается содержимое.

Поскольку вы также добавляете <tr>, оно становится вложенным, и это недопустимый HTML.Это то, что вы создаете:

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

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

Если вы создаете таблицу, начните использовать GridView.Или, если вы хотите создать свою собственную структуру таблицы, Repeater.

...