将 DataSet 绑定到 Repeater

Binding DataSet to a Repeater

我有一个 <asp:Repeater> 控件,我将 DataSet 与许多不同的 DataTables.

绑定到它

我对如何一次访问和绑定一个 table 我的中继器感到困惑。

我想做这样的事情

<ItemTemplate>
    <tr>
        <td>
            <asp:Label ID="Label2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "heading_id") %>' />
        </td>
    </tr>
</ItemTemplate>

...但首先是 table 一个,然后是一个新的 <tr>,然后是 table 两个的数据,依此类推。

听起来您想要嵌套的中继器,外部的中继器代表数据集的数据表,内部的中继器代表数据表中的行。

就我个人而言,由于自定义数据绑定,我发现嵌套的中继器很难使用,除非您进行了大量的事件绑定,否则我可能会采用更内联的方法,比如像下面这样:

<% foreach (var dt in MyDataSet.Tables) { %>
    <table>
        <% foreach (var row in dt.Rows) { %>
            <tr>
                <td><label><%= row["heading_id"] %></label></td>
            </tr>
        <% } %>
    </table>
<% } %>

在您的代码隐藏中,您只需将 DataSet 对象分配给受保护的字段或 属性。