重新填充表单时不会触发 OnCheckedChanged

OnCheckedChanged not being fired on re-population of the form

我有一个 Gridview,它有两个按钮“编辑”和“删除”。

在编辑时,行命令调用一个名为 "Populate()" 的函数,该函数填充位于面板中网格上方的表单(设置 visible = true )。

问题:

我有一个复选框 "cbX"、一个文本框 "txtX" 和一个下拉列表 "ddlX"(Visible = false)

如果选择了 cbX => ddlX.Visible = true 并且 txtX.Enabled = false(我有一个 onCheckChangeed 函数)

当我选择编辑条目时,在网格中,最初 cbX.Checked = true 当用户试图取消选中该复选框时,我遇到了一个问题。没有返回错误,当我需要隐藏 ddlX 和启用 txtX

时,它只是不调用 onCheckChanged
<asp:TextBox runat="server" ID="txtX" Width="180px"></asp:TextBox>

<asp:CheckBox runat="server" ID="cbX" AutoPostBack="true" Text="Unable to Obtain " OnCheckedChanged="cbX_CheckedChanged" />

<asp:DropDownList runat="server" ID="ddlX" DataTextField="Name" DataValueField="Code" AppendDataBoundItems="True" OnSelectedIndexChanged="ddlX_SelectedIndexChanged" Width="350px" AutoPostBack="true" CausesValidation="true" Enabled="false" Visible="false"></asp:DropDownList>

想通了。 我需要手动添加:

cbX.CheckedChanged += new EventHandler(this.cbX_CheckedChanged);

在重新填充表单的函数中。