我使用ItemDataBound of DataGrid来执行以下任务:
这是我的代码:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
CheckBox ck = (CheckBox)e.Item.FindControl("chkStatus");
bool isChecked = ck.Checked;
TextBox txt1 = ((TextBox)e.Item.FindControl("txt1"));
TextBox txt2 = ((TextBox)e.Item.FindControl("txt2"));
TextBox txt3 = ((TextBox)e.Item.FindControl("txt3"));
txt1.Enabled = isChecked;
txt2.Enabled = isChecked;
txt3.Enabled = isChecked;
}
当我放置断点并检查启用的值时,设置是正确的。例如,如果选中CheckBox,则所有三个textboxes.Enabled属性都设置为true,否则设置为false。但是,一旦我按下“继续”,选中CheckBox的行将启用所有三个文本框。但是未选中复选框的行也是启用了三个文本框,而不是禁用的。
下面是屏幕截图:

有人能解释一下我的代码出了什么问题吗?我想知道当ItemDataBound事件完成时会发生什么。是否有其他函数被自动调用,这会扰乱值。我甚至通过启用View来尝试。但还是没用。
我要设置BackGround颜色属性。它是好的。但是Eanbled属性并没有设置为false。

提前谢谢。
发布于 2018-05-30 13:10:39
通过显式设置文本框的禁用属性(如
txt1.Attributes[“disabled”]=“disabled”;https://stackoverflow.com/questions/50530511
复制相似问题