正在处理类的null值.已选择项目.价值



我得到了以下代码,这是一个按钮的点击事件:

protected void btnSave_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
CheckBoxList cbl = btn.Parent.FindControl("chkbx_list") as CheckBoxList;

if (cbl.SelectedItem.Value != null) //***Exception is thrown here***
{
//Do Stuff
}
}

如何检查cbl中的值。已选择项目。值为null?当我试图";参考";值,应用程序将抛出以下错误:

System.NullReferenceException: 'Object reference not set to an instance of an object.'
System.Web.UI.WebControls.ListControl.SelectedItem.get returned null.

根据异常消息,问题是SelectedItemnull,并且您正试图从该null实例访问成员。

首先检查要访问的成员是否为null,以避免null引用异常。

以下是详细的方法

if (cbl.SelectedItem != null && cbl.SelectedItem.Value != null)

或使用空条件运算符

if (cbl?.SelectedItem?.Value != null)

问题是,在检查null对象是否为null之前,您正试图对其使用toString((方法。您需要先检查父对象的值。

由于我无法发表评论,我应该在您更改问题时更改我的答案。当您将其用作强制转换对象的关键字时,如果强制转换失败,它可能会返回null,请首先检查cbl值,看看它是否为null。

相关内容

  • 没有找到相关文章