У меня есть элемент управления 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
, независимо от того, было ли оно переключено или нет.
У кого-нибудь есть идеи, почему это так?