2

我想问我如何包含我得到的错误“对象引用未设置为对象的实例。”,nullreferenceException。我试图将从gridview获得的值分配给一个变量。我在第一行得到错误。当值为 null 时,我该如何处理。我尝试使用 isnot Nothing 但它仍然给我错误,并且 isdbnull 不会工作,因为我没有处理数据表。

当gridview仍然为空时,我只会收到此错误,我该如何处理。

If Not IsNothing(ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value) Then
    PIM = ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value
Else
    PIM = FormatNumber("0.00", 2)
End If
4

1 回答 1

1

问题是你不知道null你的代码行中有什么。考虑到问题行,您有以下表达式:

ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value

null在该表达式中有六种东西可以计算:

  • ProductsRawMaterialGrid可能null
  • ProductsRawMaterialGrid.GridViewElement可能null
  • ProductsRawMaterialGrid.GridViewElement.CurrentRow可能null
  • ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells可能null
  • ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix")可能null
  • ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value可能null

您只检查其中一个(最后一个)。不幸的是,如果其他任何一个是null,您将看到一个NullReferenceException.

有根据的猜测是,要么CurrentRownull您调用代码时,要么是您的单元名称错误并且.Cells("PercentageInMix")null. 拆分此代码或在调试器中检查它应该可以帮助您解决问题。

于 2012-08-01T09:04:53.153 回答