如何在转发器中使用asp:占位符

时间:2010-10-20 08:44:27

标签: asp.net repeater placeholder

我有一个用转发器构建的HTML表。有时表有5行,有时候有8行。

添加标题行很容易。

<asp:PlaceHolder runat="server" ID="additionalHeaderColumns" />

在后面的代码中,我向内容持有者添加了控件(htmlheadercells):

Dim tableHeaderCell As New TableHeaderCell()
tableHeaderCell.Text = "Test"
additionalHeaderColumns.Controls.Add(tableHeaderCell)

当我尝试在每个行的数据绑定事件中执行相同操作时,我得到一个错误消息,告诉它无法将asp:PlaceHolder放入行中。它需要tablecells。

任何人都有解决方案如何扩展转发器中的列数?

1 个答案:

答案 0 :(得分:0)

如果我将您的问题理解为“根据某些数据向表中添加列”:

<asp:Repeater ID="outerRepeater" runat="server">
    <HeaderTemplate>
        <table>
            <tr>
                <td>fixedHeaderCell</td>
                <td>fixedHeaderCell2</td>
                <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'>
                    <ItemTemplate>
                        <td>dynHeaderCell</td>
                    </ItemTemplate>
                </asp:Repeater>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>fixedContentCell</td>
            <td>fixedContentCell2</td>
            <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'>
                <ItemTemplate>
                    <td>dynContentCell</td>
                </ItemTemplate>
            </asp:Repeater>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

进一步了解嵌套转发器,这里有很多内容。