在更新面板中回发后仍然放置的按钮
问题描述:
我有一个带按钮的表格。它存在的问题是当你点击一个按钮时,新的表格被绘制。当绘制新表时,按钮仍然是可点击的,并且如果再次按下该按钮,该页面将给出具有相同ID的内容持有者的错误。整个表格在更新面板中,我认为更新面板将在回发后释放所有内容。但不幸的是它没有。 (表格在每次回传时都会重新绘制)在更新面板中回发后仍然放置的按钮
我现在的想法是配置点击按钮,这样burron就不会被点击两次。但是,如果我现在单击一个按钮,然后单击另一行中的另一个,则fisrt按钮仍然处置...
您是否知道另一种方法来执行此操作或强制updatepanel清除所有按钮?
protected void Page_Load(object sender, EventArgs e)
{
getFilterValues();
getItemsOutOfviewState();
drawTableOne();
}
private void drawTableTwoClick(object sender, CommandEventArgs e)
{
ImageButton test = (ImageButton)(sender);
test.ImageUrl = "~/img/minus.gif";
test.Dispose();
drawTableTwo(siteAlias, rowNumber);
}
<asp:UpdatePanel runat="server" ID="up_tableMain" UpdateMode="Conditional">
<ContentTemplate>
<asp:Table runat="server" ID="tbl_main" BorderStyle="Solid" BorderWidth="2" GridLines="Both" BackColor="White" class="tablesorter">
</ContentTemplate>
</asp:UpdatePanel>
答
这是视图状态的问题,因为当你处理的按钮,它失去其在服务器端的参考,但你可以做的解决方法与制作 Button.Visible=false;
然后可见真实的条件下完成特定任务或者您可以在特定事件中再次使按钮可见。通过在服务器端代码(c#)中将其禁用并检查冗余来实现同样的功能。
Regards