【问题标题】:Delete CheckBox Error Object reference not set to an instance of an object [duplicate]删除复选框错误对象引用未设置为对象的实例[重复]
【发布时间】:2015-01-04 01:38:54
【问题描述】:

我想制作一个多重删除复选框,用户可以轻松地从 gridview 中删除多个数据。但是我偶然发现了一个错误:

System.NullReferenceException:对象引用未设置为对象的实例。

Line 242:               if (chk != null)
Line 243:               {
Line 244:                   chk.Checked = arr.Contains(grdadmin.DataKeys[i].Value);
Line 245:                   if (!chk.Checked)
Line 246:                       chkAll.Checked = false;

它显示错误发生的位置, 谁能帮帮我,有什么需要解决的?

private void SetData()
    {
        int currentCount = 0;
        CheckBox chkAll = (CheckBox)grdadmin.HeaderRow.Cells[0].FindControl("chkAll");
        chkAll.Checked = true;
        ArrayList arr = (ArrayList)ViewState["SelectedRecords"];
        for (int i = 0; i < grdadmin.Rows.Count; i++)
        {
            CheckBox chk = (CheckBox)grdadmin.Rows[i].Cells[0].FindControl("chk");
            if (chk != null)
            {
                chk.Checked = arr.Contains(grdadmin.DataKeys[i].Value);
                if (!chk.Checked)
                    chkAll.Checked = false;
                else
                    currentCount++;
            }
        }
        hfCount.Value = (arr.Count - currentCount).ToString(); 
    }

这是我的代码,非常感谢您的帮助。

【问题讨论】:

    标签: c# asp.net checkbox


    【解决方案1】:

    试试

     CheckBox chkAll = (CheckBox)grdadmin.HeaderRow.FindControl("chkAll");
    

    (或显示 aspx 标记)

    【讨论】:

    • 您好,我已经尝试过了,但它仍然给我同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2023-01-30
    • 2013-07-07
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多