Asp.net 复选框赢得';不检查

Asp.net 复选框赢得';不检查,asp.net,gridview,checkbox,Asp.net,Gridview,Checkbox,我已将此代码放置在我的网格视图中\u SelectedIndexChanged,但复选框仍不会选中。如果我在gridview中选择的一行上有字母O,复选框将自动选中,我将如何更改代码 protected void gvAuto_SelectedIndexChanged(object sender, EventArgs e) { txtSurname.Text = gvAuto.SelectedRow.Cells[0].Text; txtFN.Text = gvAuto.Selec

我已将此代码放置在我的
网格视图中\u SelectedIndexChanged
,但复选框仍不会选中。如果我在gridview中选择的一行上有字母
O
,复选框将自动选中,我将如何更改代码

protected void gvAuto_SelectedIndexChanged(object sender, EventArgs e)
{
    txtSurname.Text = gvAuto.SelectedRow.Cells[0].Text;
    txtFN.Text = gvAuto.SelectedRow.Cells[1].Text;
    txtOrg.Text = gvAuto.SelectedRow.Cells[2].Text;
    txtAdd.Text = gvAuto.SelectedRow.Cells[3].Text.Replace(" ", "");
    txtPosition.Text= gvAuto.SelectedRow.Cells[4].Text.Replace(" ", "");
    txtTelNum1.Text = gvAuto.SelectedRow.Cells[5].Text.Replace(" ", "");
    txtTelNum2.Text = gvAuto.SelectedRow.Cells[6].Text.Replace(" ", "");
    txtTelNum3.Text = gvAuto.SelectedRow.Cells[7].Text.Replace(" ", "");
    txtMobileNum.Text = gvAuto.SelectedRow.Cells[8].Text.Replace(" ", "");
    txtEmail1.Text = gvAuto.SelectedRow.Cells[9].Text.Replace(" ", ""); ;
    txtEmail2.Text = gvAuto.SelectedRow.Cells[10].Text.Replace(" ", "");
    txtEmail3.Text = gvAuto.SelectedRow.Cells[11].Text.Replace(" ", "");

    if (gvAuto.SelectedRow.Cells[12].Text.Replace(" ", "") == "")
    {
        cbCategory1.Checked = false;
    }
    else
    {
        cbCategory1.Checked = true;
    }

    txtValidate2.Text = gvAuto.SelectedRow.Cells[13].Text.Replace(" ", "");
}

如果要测试值
O
,可以将其缩短为:

//...
cbCategory1.Checked = (gvAuto.SelectedRow.Cells[12].Text == "O");
//...
从您的问题可以看出,
cbCategory1
是否是您的
GridView
的子控件,这需要不同的解决方案


尝试调试并进入事件处理程序,检查单元格值的读取是否正确。

您应该添加一个标签,解释您使用的语言。