我有一个GridView控件,其中有一列复选框设置如下:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="RowCheckBox" runat="server" Enabled="false" Checked='<%# (bool)DataBinder.Eval(Container.DataItem ,"Associated") %>'/>
</ItemTemplate>
</asp:TemplateField>
然后,当用户单击“编辑”按钮时,我会运行一个启用所有复选框的脚本(工作正常),然后当用户点击复选框时,勾选正在显示或消失。
我遇到的问题是,当我尝试从代码隐藏中读取复选框的值时:
CheckBox checkBox = (CheckBox) row.FindControl("RowCheckBox");
bool checked = checkBox.Checked;
如果与其绑定的值为true
,则checked
仍为true
,无论是否切换。
有没有人知道为什么会这样?
答案 0 :(得分:0)
最后我找不到解决方案,所以做了一个解决方法:
True
属性)将隐藏字段的值更新为False
或onclick
,value
强制转换为bool并使用该字段而不是复选框的checked属性。我认为这可能与View States有关,但我不确定它们是什么,并且不幸的是没有时间进行调查。
Clivest