我在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这样的某些属性的默认值,而是有&#34; 0&#34; value哪个是String数据类型的默认值。但不知何故,在属性nombre它确实有默认值&#34;我不是空的&#34;。
如何使用我放入属性的默认值而不会丢失它?
谢谢,抱歉我的英语不好。
更新
aspx在.net4.5和web应用程序上工作得很好,但在控制台应用程序中没有工作,因为控制台应用程序在net4.0上 它得到修复,将框架目标从4.5更改为4.0, 即使控制台应用程序在4.5框架中,aspx也能完美运行。
答案 0 :(得分:1)
即使是“”空字符串也会覆盖这些值。但这是属性的Get和Set的一个很好的用例!
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