创建一个带有ASP重复器的HTML表,水平重复

d8tt03nd  于 2023-05-02  发布在  .NET
关注(0)|答案(2)|浏览(96)

我正在尝试使用ASP repeater构建一个HTML表:

<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列组成。第二行出现时没有任何问题,而第一行不可见。有人能帮我找到丢失的东西吗?先谢谢你了。

jmp7cifd

jmp7cifd1#

我认为核心问题是Repeater不是设计为水平重复的。
也许你应该尝试使用DataList,它允许指定RepeatingDirection。

更新

如果你不需要水平重复(就像你的问题建议的那样)。..two lines and X columns”),您的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>

请注意,您不能在<ItemTemplate>中重复<table>,并且当您需要将Eval放在属性中时,请使用单引号。

nuypyhwy

nuypyhwy2#

不能使用ItemTemplate标记的多个示例。您只能使用Repeater控件提供的每个标记中的一个。
https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.repeater.itemtemplate?view=netframework-4.8

相关问题