嘿,你能看看这段代码:我收到这个错误:
对象引用未设置为对象的实例。描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
来源错误:
{
CheckBox chkBox1 = (CheckBox)e.Row.Cells[8].FindControl("chkStatus");
chkBox1.CheckedChanged += new EventHandler(chkStatus_OnCheckedChanged);
chkBox1.Checked = true;
chkBox1.AutoPostBack = true;
}
答案 0 :(得分:2)
您确定在第一行中,FindControl方法调用实际上是返回一个控件。尝试在第166行放置一个断点,看看chkBox1在那一点上等于什么。我的猜测是它的值为空。
答案 1 :(得分:1)
你应该检查你的细胞计数并检查FindControl引用的控件上是否有CheckBox。
if (e.Row.Cells.Count > 8)
{
CheckBox chkBox1 = e.Row.Cells[8].FindControl("chkStatus") as CheckBox;
if (chkBox1 != null)
{
chkBox1.CheckedChanged += new EventHandler(chkStatus_OnCheckedChanged);
chkBox1.Checked = true;
chkBox1.AutoPostBack = true;
}
}