编辑抛出错误:对象引用未设置为对象的实例

时间:2012-08-18 20:47:42

标签: c# asp.net sql

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();
        }
    }

每当我使用rowEditing时,schgrid_RowDataBound中会抛出异常,它实际上用于删除gridview记录。

请帮我解决这个问题。给我看一些代码来纠正这个问题

2 个答案:

答案 0 :(得分:0)

据我所知,您的 lnkbtnresult 必须为null,您可以在调试之前检查其值,然后再按下错误行。由于向DataBinder.Eval提供了错误的名称(字符串'schlName'),因此Image按钮可能为null。 只是尝试检查您是否使用了schlName的正确ID。 把你的aspx代码也放在一边,会很有用。

答案 1 :(得分:0)

如果lnkbtnresult为null,则可能是因为该控件未被调用imgbtnDelete。