如何从Gridview SelectedIndexChanged中的templatefield获取值

时间:2012-06-10 17:04:02

标签: c# asp.net

我有一个gridview和sqldatasource。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;
        TextBox rrdp = (TextBox)row.FindControl("name");
        txt1.Text = rrdp.text.ToString()
    }

但我得到:对象引用未设置为对象的实例。在txt1.text = //等..

列是itemtemplates,值不是空值。

由于

1 个答案:

答案 0 :(得分:1)

它基本上意味着FindControl无法按照以下行找到名为“name”的控件:

(TextBox)row.FindControl("name");

您是否检查过“name”是否在任何容器内且是否在预期范围内?正如FindControl docs指定它将返回:

  

指定的控件,如果指定的控件没有,则返回null   存在。

您正在体验的内容(未设置对象引用)。​​