首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGrid ItemDataBound未按预期绑定

DataGrid ItemDataBound未按预期绑定
EN

Stack Overflow用户
提问于 2018-05-25 13:37:57
回答 1查看 131关注 0票数 0

我使用ItemDataBound of DataGrid来执行以下任务:

  1. 检查行中存在的CheckBox的选中值。
  2. 根据选中的值设置同一行中三个文本框的“启用”属性。

这是我的代码:

代码语言:javascript
复制
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。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 13:10:39

通过显式设置文本框的禁用属性(如

代码语言:javascript
复制
txt1.Attributes[“disabled”]=“disabled”;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50530511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档