【发布时间】:2011-05-29 05:30:00
【问题描述】:
也许我在这里做了一个错误的假设,但这让我很难过。 我必须在同一个控件的两个不同位置设置两个相同的中继器。我想避免更改控件的名称,这样我就可以在前端使用相同的功能(实际上,如果有更好的方法在两个不同的地方拥有两个相同的中继器,而不是直接复制和粘贴,那就是伟大的)。但为简单起见,我将两者分解如下:
<asp:Repeater ID="rptTest" runat="server">
<ItemTemplate>
<asp:UpdatePanel runat="server" ID="updTestPanel">
<ContentTemplate>
<asp:TextBox ID="txtTest" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:TextBox ID="txtTest2" runat="server" />
</ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="rptTest2" runat="server">
<ItemTemplate>
<asp:UpdatePanel runat="server" ID="updTestPanel">
<ContentTemplate>
<asp:TextBox ID="txtTest" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:TextBox ID="txtTest2" runat="server" />
</ItemTemplate>
</asp:Repeater>
事情是这样的:txtTest2 在两个转发器中都可以重复,但txtTest 会引发以下错误:
错误 4 'txtTest' 已在此类中声明为 'Protected WithEvents txtTest As System.Web.UI.WebControls.TextBox'。
错误 5 'Private Overloads Function __BuildControltxtTest() As System.Web.UI.WebControls.TextBox' 有多个具有相同签名的定义。
错误 8 'txtTest' 已在此类中声明为 'Protected WithEvents txtTest As System.Web.UI.WebControls.TextBox'。
有没有办法做我想做的事,还是我需要重新考虑如何在中继器中调用异步数据?
【问题讨论】:
标签: asp.net updatepanel repeater