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

C# 无法取消选中服务器控制复选框,c#,asp.net,C#,Asp.net,所以我有一些由服务器创建的复选框。其中一些已检查,而其他未检查 我可以(用鼠标)勾选和取消勾选我想要的未选中的复选框,但是如果它是选中的,我不能单击它取消勾选 生成文本框的代码: System.Web.UI.WebControls.CheckBox chk = new System.Web.UI.WebControls.CheckBox(); chk.ID = colName; chk.AutoPostBack = false; if (val != null && val !

所以我有一些由服务器创建的复选框。其中一些已检查,而其他未检查

我可以(用鼠标)勾选和取消勾选我想要的未选中的复选框,但是如果它是选中的,我不能单击它取消勾选

生成文本框的代码:

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。

Remove style=“opacity:0;
然后再试一次。

嗯,我想有一些隐藏的javascript我不知道,这就解决了它。

选中的css类
是什么样子的?你的意思是,使用鼠标,你不能清除它的选择?对。我不能用鼠标点击来清除它。你能把你的
css类
html
放进去吗通过浏览器?您可以使用firebug查看是否有任何其他控件通过它。如果任何控件重叠,您不能采取任何操作。@smarble它可以是
div
td
或任何
html控件
或任何
服务器控件
,它们在一个面板中,就是这样。渲染时,它会被放入一个span和一个div中。控件可能重叠。能否将
css类
和html呈现在broser中。style=“opacity:0;“使复选框不可见。更改不透明度值,然后重试。”。