foreach(DataGridItem dgi in this.DataGrid1.Items) 
        {
            CheckBox cb=(CheckBox)DataGrid1.FindControl("CheckBox1");
            TextBox tb=(TextBox)DataGrid1.FindControl("TextBox2");
            if(cb.Checked)
            {
                Response.Write(tb.Text.ToString());
            }系统提示 未将对象引用设置到对象的实例。if(cb.Checked)
DataGrid里面有两个模版列    一个里面有个CheckBox  另一个里面有个TextBox
我想把被选中的textbox里面的文字输出
请问我的程序那点错了 
谢谢帮忙改一下

解决方案 »

  1.   

    CheckBox cb=(CheckBox)dgi.Celss[i].FindControl("CheckBox1");
                TextBox tb=(TextBox)dgi.Celss[i].DataGrid1.FindControl("TextBox2");
    i是第几列
      

  2.   

    CheckBox cb=(CheckBox)dgi.Cells[i].FindControl("CheckBox1");
                TextBox tb=(TextBox)dgi.Cells[i].DataGrid1.FindControl("TextBox2");
      

  3.   

    TextBox tb=(TextBox)dgi.Cells[i].DataGrid1.FindControl("TextBox2");
    你需要确定在第几列里找这个textbox2