0
protected void schgrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //getting username from particular row
                string schlName = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "schlName"));
                //identifying the control in gridview
                ImageButton lnkbtnresult = (ImageButton)e.Row.FindControl("imgbtnDelete");
                //raising javascript confirmationbox whenver user clicks on link button
                lnkbtnresult.Attributes.Add("onclick", "javascript:return ConfirmationBox('" + schlName + "')");
            }
}

上記の行にエラーがあります:

オブジェクト参照がオブジェクト インスタンスに設定されていません

protected void schgrid_RowEditing(object sender, GridViewEditEventArgs e)
{
        schgrid.EditIndex = e.NewEditIndex;

        if (txtSearch.Text == "")
        {
            BindSchoolDetails();
        }
        else
        {
            BindSearchDetails();
        }
    }

を使用するたびに、 gridview レコードの削除に実際に使用されるrowEditing例外がスローされます。schgrid_RowDataBound

この問題の解決を手伝ってください。問題を修正するコードを表示してください

4

2 に答える 2

0

私が思う限り、lnkbtnresultはnullである必要があります。デバッグ中に、エラー行に到達する前にその値を確認できます。DataBinder.Evalに指定された名前(文字列'schlName')が間違っているため、その画像ボタンがnullになっている可能性があります。schlNameに使用したIDが正しいかどうかを確認してください。aspxコードも入れてください。役に立ちます。

于 2012-08-18T21:40:32.523 に答える
0

lnkbtnresult が null の場合、コントロールが imgbtnDelete と呼ばれていないことが原因である可能性があります。

于 2012-08-18T23:32:09.560 に答える