Web 服务 aspx 类的属性不保留默认值



我正在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

最新更新