具有空引用异常。它是一个更新代码,我将值从组合框传递到局部变量,然后将其传递给方法。
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);
答案 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。