protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = GridView1.SelectedRow;
this.txtha81.Checked = bool.Parse(row.Cells[37].Text);
}
以上是我的代码, 总是报错,报错详情如下:
"该字符串未被识别为有效的布尔值。"
这个代码应该如何改呢
this.txtha81.Checked = ((CheckBox)row.Cells[37].Controls[0]).Checked; 我这样子解决 了哦.
嗯,这样也可以的。用FindControl的话,主要是看id是不是正确。
应该是这样写的吧。
CheckBox cb = GridView1.SelectedRow.FindControl("CheckBoxId") as CheckBox; //就是找到行,或再找到Cell,再找里面的控件,转化为Checkbox。 我没开vs了,在这上面纯手写的,可能有错误,你能明白意思就行。
if(cb!=null)
{
this.txtha81.Checked = cb.Checked;
}
CheckBox cb = row.FindControl("ha81") as CheckBox;
这样子代码取不到
CheckBox cb = row.FindControl("37") as CheckBox;
这样子写也取不到,
很奇怪,两种方式都是null