System.NullReferenceException:'对象引用未设置为对象的实例

时间:2018-05-01 20:14:28

标签: asp.net

protected void btnSaveSite_Click(object sender, EventArgs e)
{          
      if (ListSelectedCar.Items.Count > 0)
      {
          listSelectedCar.SelectedIndex = 0;
      }

     addNewInventory  addNewInventoryObject = new addNewInventory();
     DataTable dt = addNewInventory.Update_Inventory( id, listSelectedCar.SelectedItem.Text) 

我有两个列表框,其中一个(ListBox1)列出所有可用的汽车和其他列表框(ListBox2)保存客户选择的汽车。如果列表框2保持值没有问题 但是当我尝试在ListBox2中保存没有值的库存时,我得到Null Referance错误。enter image description here

2 个答案:

答案 0 :(得分:0)

最后一行尝试从方框2中获取所选项目并获取"文本" 你需要有逻辑来处理选定的车厢" SelectedItem"为空。

您可以通过执行" SelectedItem?.Text"来使用null coelece。

答案 1 :(得分:0)

这里有几个选择......

您的错误消息指出您正在使用的一个(或多个)对象为空。你需要确切地确定哪一个。

则...

最简单但最不稳定的是,在尝试对它们执行任何操作之前,对您正在使用的少数对象进行空检查。

第二个,是添加一些客户端处理(通过javascript,jquery,等等)以确保在允许Save按钮触发SaveSite操作之前选择了汽车。您还可以提供弹出窗口,说明需要选择汽车。

你的逻辑也有点模糊。如果项目计数不大于零,您仍尝试执行数据表更新。这可能应该在你的IF声明中。