Почему веб-сервис возвращает ноль? - PullRequest
0 голосов
/ 15 июля 2011

У меня есть следующий веб-сервис:

<%@ WebService Language="VB" Class="WebService" %>

Imports System.Web
Imports System.Web.Script.Services
Imports System.Web.Services

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class WebService
    Inherits System.Web.Services.WebService

    Public Class Person
        Public FirstName As String
        Public LastName As String

        Public Sub New(ByVal m_FirstName As String, ByVal m_LastName As String)
        End Sub
    End Class

    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
    <WebMethod()> _
    Public Function GetPersons() As List(Of Person)
        Dim lst As List(Of Person) = New List(Of Person)

        lst.Add(New Person("firstname_1", "surname_1"))
        lst.Add(New Person("firstname_2", "surname_2"))

        Return lst
    End Function
End Class

Но он возвращается:

{"d":[{"FirstName":null,"LastName":null},{"FirstName":null,"LastName":null}]}

Он должен возвращаться:

{"d":[{"FirstName":"firstname_1","LastName":"surname_1"},{"FirstName":"firstname_2","LastName":"surname_2"}]}

Что такоеЯ делаю не так?

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

Вы никогда не указываете FirstName и LastName в конструкторе, поэтому их значения останутся нулевыми. Добавьте следующее к вашему конструктору:

FirstName = m_FirstName
LastName = m_LastName
0 голосов
/ 15 июля 2011

Мой VB немного ржавый, но я не вижу свойств FirstName и LastName в вашем классе Person.Я вижу только переменные.(Вместе с отсутствующим назначением, которое было упомянуто ранее)

...