无法取消选中服务器控制的复选框

本文关键字:控制 复选框 服务器 取消 | 更新日期: 2023-09-27 18:03:13

我有一些由服务器创建的复选框。其中一些被选中了,而另一些没有。

我可以(用鼠标)选中和取消选中创建时未选中的复选框,但是如果它创建时为选中,我不能单击它来取消选中。

生成文本框的代码:
System.Web.UI.WebControls.CheckBox chk = new System.Web.UI.WebControls.CheckBox();
chk.ID = colName; 
chk.AutoPostBack = false;
if (val != null && val != "")
{
    chk.Checked = true;
}
ChecklistPanel.Controls.Add(chk);

但是,这应该无关紧要,因为即使我在。aspx文件中添加控件并设置checked="true",它们仍然以相同的方式运行。

如果有帮助的话,下面是c#决定渲染控件的方式:

<div id="uniform-MainContent_EmpMain_dv_access_to" class="checker">
    <span class="checked">
        <input id="MainContent_EmpMain_dv_access_to" class="checked" 
            type="checkbox" checked="checked" name="ctl00$ctl00$MainContent$EmpMain$dv_access_to" style="opacity: 0;">
    </span>
</div>

无法取消选中服务器控制的复选框

我认为唯一的修改可能是你的复选框的Id。
您创建的每个复选框都应该有唯一的id。
你不能有多个具有相同ID的控件。

删除style="不透明度:0;然后试试。

嗯,我猜有一些隐藏的javascript我不知道,这修复了它。