Nullreferenceexception(未设置对象引用)

时间:2014-02-15 08:11:19

标签: c# nullreferenceexception

具有空引用异常。它是一个更新代码,我将值从组合框传递到局部变量,然后将其传递给方法。

pro_business sb = new pro_business();  //business layer class
string name = up_name.Text;  
sb.Ppro_name = name;
string type= type_combobox.SelectedItem.ToString(); //Having problem here!!)
string unit = unit_combobox.SelectedItem.ToString(); //Having problem here!!)
sb.Ppro_unit = unit;         
string message1 = sb.UpdateProductDetails(name, type, unit);

1 个答案:

答案 0 :(得分:1)

例外的原因是SelectedItem为空,例如如果用户尚未选择条目。如果您只对项目的文本感兴趣,请使用Text属性。如果要检查用户是否已进行选择,请使用SelectedIndex属性。

为了解决这个问题,这段代码应该可行:

if (type_combobox.SelectedIndex >= 0 && unit_combobox.SelectedItem >= 0)
{
    pro_business sb = new pro_business();  //business layer class
    string name = up_name.Text;  
    sb.Ppro_name = name;
    string type= type_combobox.Text; 
    string unit = unit_combobox.Text;
    sb.Ppro_unit = unit;         
    string message1 = sb.UpdateProductDetails(name, type, unit);
}

有关NullReferenceException及其解决方法的详细信息,请参阅此优秀的post