我正在vb.net中制作ASPX Web服务。我收到一个对象数组参数,让框架担心铸造验证,因为您可以看到
<ScriptMethod(ResponseFormat:=ResponseFormat.Json, XmlSerializeString:=False)> _
<WebMethod(True)> _
Public Function insertarUnidad(ByVal unidades() As unidad) As String
我和我有一个公共类定义
Public Class unidad
Public Property id_unidad As String
Public Property nombre As String ="I'm Not Empty"
Public Property placas As String = "N"
END Class
事实证明,当我调试时,对象数组没有某些属性的默认值,例如placas,它们具有" 0"值,这是字符串数据类型的默认值。但是在某种程度上,在属性中,它确实具有默认值"我不是空"。
如何使用我在属性中放置的默认值而又不会丢失?
谢谢,对不起,我的英语不好。
update
ASPX在.NET4.5上,并且从Web应用程序中运行得很好,但是在控制台应用程序中不起作用,因为控制台应用程序在Net4.0上它可以修复将框架目标从4.5更改为4.0,即使Console应用在4.5框架中,ASPX也可以很好地工作。
甚至一个"空字符串"都将覆盖这些值。但这是一个很好的用例,用于属性!
Public Class unidad
Private _nombre as string
Private _placas as string
Public Property id_unidad As String Public Property placas
Get
Return _placas
End Get
Set(ByVal value As String)
If value = "0" then
_placas = "N"
else
_placas = value
end if
End Set
End Property
Public Property nombre
Get
Return _nombre
End Get
Set(ByVal value As String)
If value = "0" then
_nombre = "I'm Not Empty"
else
_nombre = value
end if
End Set
End Property
End Class
'Your if statements may need changed