对象引用未设置为网格视图中对象的实例

时间:2015-04-24 10:42:17

标签: asp.net

RadioButton yes = null;
RadioButton no = null;
GridViewRow row = GV_College_Information1.Rows[i];
yes = (RadioButton)row.FindControl("yes");
no = (RadioButton)row.FindControl("no");

if (yes.Checked && yes!=null)

我在这个声明中得到了例外。任何人都会引导我完成这个

3 个答案:

答案 0 :(得分:0)

从if块中删除第二个条件,或者您可以在下面看到示例代码

  for (int i = 0; i < GV_College_Information1.Rows.Count; i++)
    {
        RadioButton yes = (GV_College_Information1.Rows[i].FindControl("grdRdo")) as RadioButton;
        if (yes.Checked == true)
        {

        }
    }           
}

答案 1 :(得分:0)

很明显,由于某种原因,此代码(RadioButton)row.FindControl("yes")会返回null

你试图通过if (yes.Checked && yes!=null)处理这种情况,但实际上你做错了(要检查的错误顺序)。

应该是if (yes!=null && yes.Checked)

原因是:如果您尝试访问null对象的属性 - 您将获得该异常,因此首先您必须检查对象是否为空,然后才能访问其属性和方法。

答案 2 :(得分:0)

如果id="row"中确实存在row的单选按钮,则不会在if语句中获得空引用异常。但无论如何,你应该在yes之前进行空检查。检查你的if语句,正如Andy Korneyev指出的那样。

yes = (RadioButton)(row.FindControl("yes"));
if (yes!=null && yes.Checked)