C# 为什么我不能让这段代码在Gridview中工作

C# 为什么我不能让这段代码在Gridview中工作,c#,gridview,radgrid,C#,Gridview,Radgrid,我使用的是Telerix RadGrid,似乎无法获得提供复选框值的代码。这是我的C代码 protected void gvMembers_UpdateCommand(object sender, GridCommandEventArgs e) { var editableItem = ((GridEditableItem)e.Item); var memberId = (int)editableItem.GetDataKeyValue("UserID")

我使用的是Telerix RadGrid,似乎无法获得提供复选框值的代码。这是我的C代码

protected void gvMembers_UpdateCommand(object sender, GridCommandEventArgs e)
    {
        var editableItem = ((GridEditableItem)e.Item);
        var memberId = (int)editableItem.GetDataKeyValue("UserID");
        int Role = 1;
        CheckBox active = (CheckBox)editableItem["valid"].Controls[0];
        Boolean boolactive = Convert.ToBoolean(active.Checked = !String.IsNullOrEmpty(e.Item.Cells[0].Text));
        string strFirstName = (editableItem["firstname"].Controls[0] as TextBox).Text;
        string strLastName = (editableItem["lastname"].Controls[0] as TextBox).Text;
        string strUserName = (editableItem["username"].Controls[0] as TextBox).Text;
        string strEmail = (editableItem["firstname"].Controls[0] as TextBox).Text;
代码编译并运行,但复选框值始终为false。我错过了什么

我还做了一些故障排除,并发现了以下代码:

CheckBox active = (CheckBox)editableItem["valid"].Controls[0];
返回此值{Text=Checked=true}

然后,我添加了以下代码作为下一行代码:

 string str = active.Text;
并检查字符串的值,返回一个空字符串


关于如何从复选框中获取布尔值以便将其传递到数据库,您有什么想法吗?

我可以通过使用以下方法获取布尔值来解决此问题:

            CheckBox active = (CheckBox)editableItem["valid"].Controls[0];
        Boolean bactive = active.Checked;

谢谢您的评论。

不理解您的状态处于活动状态。已检查=!String.IsNullOrEmptye.Item.Cells[0].text您的意思可能是==而不是=?您没有存储对bool的赋值返回吗?我想你的意思是:active.Checked=!String.IsNullOrEmptye.Item.Cells[0]。文本;然后布尔boolactive=Convert.ToBooleanactive.Checked;还是另一种做同样事情的方式?boolactive=活动。选中=!String.IsNullOrEmptye.Item.Cells[0]。文本;谢谢你的评论,我已经做了更多的检查,它看起来像是的返回值!String.IsNullOrEmptye.Item.Cells[0]。文本为空字符串。看起来我没有得到单元格的值。