繁体   English   中英

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

[英]Editing throws error : Object Reference not set to an instance of an object

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记录。

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

据我认为,您的lnkbtnresult必须为null,您可以在调试时检查错误的值,然后再点击错误行。 由于提供给DataBinder.Eval的名称错误(字符串'schlName'),因此该Image按钮可能为null。 只要尝试检查您用于schlName的ID是否正确即可。 还要输入您的aspx代码,这将有所帮助。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM