Создайте таблицу HTML с ретранслятором ASP, повторяя по горизонтали - PullRequest
6 голосов
/ 20 февраля 2012

Я пытаюсь построить таблицу HTML с использованием повторителя ASP:

<asp:Repeater ID="RepeaterVersionsForPie" runat="server">
    <ItemTemplate>
        <table id="VersionsTable" >

                <tr>
                    <th>
                    <%#Eval("nameVersion")%>
                    </th>

                </tr>

    </ItemTemplate>
    <ItemTemplate>
        <tbody>
            <tr>
                <td tag="<%#Eval("idVersion")%>">
                    <%#Eval("NumberOfCompaniesUsingThisVersion")%>
                </td>
            </tr>
        </tbody>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

Это базовая таблица, состоящая из двух строк и X столбцов . Вторая строка появляется без проблем, а первая невидима. Может кто-нибудь помочь найти то, чего не хватает? Заранее спасибо.

1 Ответ

10 голосов
/ 20 февраля 2012

Я думаю, что основная проблема в том, что Repeater не предназначен для повторения по горизонтали.

Может быть, вам стоит попробовать DataList , который позволяет указать RepeatingDirection.

Обновление

Если вам не нужно повторять по горизонтали (как ваш вопрос предлагает «... две строки и столбцы X»), ваш Repeater должен выглядеть следующим образом

<asp:Repeater ID="RepeaterVersionsForPie" runat="server">

    <HeaderTemplate>
        <table id="VersionsTable">
    </HeaderTemplate>

    <ItemTemplate>
        <tr>
            <th><%# Eval("nameVersion") %></th>
            <!-- Important: Put attributes in single quotes so they don't get
                 mixed up with your #Eval("xxx") double quotes! -->
            <td tag='<%#Eval("idVersion")%>'>
                <%# Eval("DocumentName") %>
            </td>
        </tr>
    </ItemTemplate>

    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

Обратите внимание, что вы не должны повторять <table> в вашем <ItemTemplate> и использовать одинарные кавычки, когда вам нужно поместить Eval внутри атрибута.

...