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)
我在这个声明中得到了例外。任何人都会引导我完成这个
答案 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)