ASP.NET动态创建的复选框在回发后不会清除

ASP.NET动态创建的复选框在回发后不会清除,.net,asp.net,ajax,checkbox,postback,.net,Asp.net,Ajax,Checkbox,Postback,我有一个复选框的显示列表,取决于所用的从下拉框中选择的内容。当下拉框的值更改时,会发生回发。当复选框更改时,也会发生回发 我的问题是,如果我从下拉框中选择一个值,并假设创建了6个复选框。我决定取消选中3号框。然后改变主意,从下拉列表中选择一个新值。创建新复选框时,复选框3将保持未选中状态 我真的还没有找到解决这个问题的方法。如果您能提供任何帮助或建议,我将不胜感激。我还应该提到,复选框和下拉框都在更新面板中运行 以下是生成复选框的代码: For Each _element In myTools.

我有一个复选框的显示列表,取决于所用的从下拉框中选择的内容。当下拉框的值更改时,会发生回发。当复选框更改时,也会发生回发

我的问题是,如果我从下拉框中选择一个值,并假设创建了6个复选框。我决定取消选中3号框。然后改变主意,从下拉列表中选择一个新值。创建新复选框时,复选框3将保持未选中状态

我真的还没有找到解决这个问题的方法。如果您能提供任何帮助或建议,我将不胜感激。我还应该提到,复选框和下拉框都在更新面板中运行

以下是生成复选框的代码:

For Each _element In myTools.getElements(templateID, myTools.getConnectionStringFromAirlineName(ddl_Source.SelectedValue)).Rows
Dim tr As New HtmlTableRow
Dim td_elementChecked As New HtmlTableCell
Dim cb_ID As New CheckBox
cb_ID.ID = templateID & _element.item(0)
// As you can see i'm setting check to true each time?
cb_ID.Checked = True
cb_ID.AutoPostBack = True
cb_ID.DataBind()
AddHandler cb_ID.CheckedChanged, AddressOf handlesGenericCheckedChange
Dim td_elementName As New HtmlTableCell
Dim lbl_elementName As New Label

td_elementName.Controls.Add(lbl_elementName)
td_elementChecked.Controls.Add(cb_ID)
tr.Cells.Add(td_elementChecked)
tr.Cells.Add(td_elementName)
table_elements.Rows.Add(tr)
table_elements.DataBind()
present = True
Next

复选框的id具有含义,无法更改,我感觉这可能与此有关。ID用于指示需要处理的内容。

您将需要提供更多代码,但当您更改下拉列表中的选定值时,听起来您正在重新绘制所有复选框。如果是这种情况,则新创建的复选框将不会保留您以前分配的复选框。您可能需要在回发数据时记录表单的当前状态。记录所选的值,以便在需要重新绘制表单时可以应用这些更改。

在重新加载控件之前,您可以创建一个新面板。。这样你就可以重新开始。这只是一个建议。

嗨,Kauis,谢谢你的回复。问题是我不想记住这些价值观,这就是我需要停止发生的事情吗?我已经在这样做了。每次重新加载时,我都会创建表和行。所以问题仍然存在。嗨,Aravind,我终于设法通过使用一个面板并将我创建的表添加到面板中来解决这个问题。然后当我刷新时,在面板上调用controls.clear。谢谢你给我的建议!丹