0

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 で、値は null ではありません。

ありがとう

4

1 に答える 1

1

これは基本的に、FindControl が次の行のように「name」というコントロールを見つけられないことを意味します。

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

「名前」がコンテナ内にあり、予想される範囲内にあるかどうかを確認しましたか? FindControl ドキュメントが指定するように、次のように返されます。

指定されたコントロール、または指定されたコントロールが存在しない場合は null。

これはあなたが経験していることです(オブジェクト参照が設定されていません)。

于 2012-06-10T17:05:34.377 に答える