我想创建一个多删除复选框,用户可以轻松地从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();
}
这是我的代码,非常感谢帮助。
答案 0 :(得分:0)
尝试
CheckBox chkAll = (CheckBox)grdadmin.HeaderRow.FindControl("chkAll");
(或显示aspx标记)