从字符串 yyyyMMddHHmmss 到整数类型的转换无效
Conversion from string yyyyMMddHHmmss to type integer is not valid
我正在尝试编写一个系统,通过 MVC 网络服务将其值传递给前端。
虽然是运行,但我一直遇到这个错误,我无法克服它;我已将它隔离到这行代码,但我看不出它有什么问题。这是代码行、时间戳和错误:
我不能透露太多代码,因为其中一些是敏感的,但这是通用的。如果您需要更多信息,我会尽力提供。
因为paymentRequest.TimeStamp
的类型是Date?
(即Nullable(Of DateTime)
),那么你需要paymentRequest.TimeStamp.Value
来获取它的值,所以代码片段应该是
.Timestamp = paymentRequest.TimeStamp.Value.ToString("yyyyMMddHHmmss")
虽然它没有记录 (as far as I can find),但您也可以使用 CDate
从 Date?
中获取日期,因此:.Timestamp = CDate(paymentRequest.TimeStamp).ToString("yyyyMMddHHmmss")
.
您可能希望避免使用未记录的功能,因为它可能会在以后的版本中更改而不通知。
这两种方式都会失败,错误为
System.InvalidOperationException: 'Nullable object must have a value.'
如果 paymentRequest.TimeStamp.HasValue
是 False
。
也许令人困惑,Nullable.ToString Method 的文档说
The ToString property returns the string yielded by calling the ToString property of the object returned by the Value property.
但是,需要注意的是,这仅适用于带有无 个参数的 ToString() 方法。
我正在尝试编写一个系统,通过 MVC 网络服务将其值传递给前端。
虽然是运行,但我一直遇到这个错误,我无法克服它;我已将它隔离到这行代码,但我看不出它有什么问题。这是代码行、时间戳和错误:
我不能透露太多代码,因为其中一些是敏感的,但这是通用的。如果您需要更多信息,我会尽力提供。
因为paymentRequest.TimeStamp
的类型是Date?
(即Nullable(Of DateTime)
),那么你需要paymentRequest.TimeStamp.Value
来获取它的值,所以代码片段应该是
.Timestamp = paymentRequest.TimeStamp.Value.ToString("yyyyMMddHHmmss")
虽然它没有记录 (as far as I can find),但您也可以使用 CDate
从 Date?
中获取日期,因此:.Timestamp = CDate(paymentRequest.TimeStamp).ToString("yyyyMMddHHmmss")
.
您可能希望避免使用未记录的功能,因为它可能会在以后的版本中更改而不通知。
这两种方式都会失败,错误为
System.InvalidOperationException: 'Nullable object must have a value.'
如果 paymentRequest.TimeStamp.HasValue
是 False
。
也许令人困惑,Nullable.ToString Method 的文档说
The ToString property returns the string yielded by calling the ToString property of the object returned by the Value property.
但是,需要注意的是,这仅适用于带有无 个参数的 ToString() 方法。