2012-03-05 2 views
0

Когда я передаю целочисленное значение из .net webservice в jquery, оно возвращается как логическое.Передача значения из .net webservice в jquery

Мой вебсервис:

 <WebMethod()> _ 
Public Shared Function returnRowId(ByVal User As String, ByVal ProgramName As String, Lesson As String) As Boolean 
    Dim RowId As Integer 
    Try 
     Dim ds As New progressTableAdapters.Progress_LessonsTableAdapter 
     RowId = ds.InsertFirstEntry(Lesson, Now, User, "", ProgramName) 
    Catch ex As Exception 
     RowId = 0 
    End Try 
    Return RowId 
End Function 

Вот SQL-код, который возвращает ROWID»

INSERT INTO Progress_Lessons 
        (Lesson, Start_Time, User_Name, IPAddress, Programs) 
    VALUES  (@lesson,@start,@user,@IP,@Programs); 
    SELECT  SCOPE_IDENTITY() 

Вот мой Ajax код вызова веб-сервиса и захватив ROWID:

 function returnRowId() { 
    var dataString = { 
     User: $('#lblUser').val(), 
     ProgramName: 'Conditional Statements', 
     Lesson: $('#lblLesson').val() 
    }; 
    var options = { 
     type: "POST", 
     url: 'cs.aspx/returnRowId', 
     data: JSON.stringify(dataString), 
     contentType: 'application/json; charset=utf-8', 
     dataType: 'JSON', 
     success: function (msg) { 
      $('#rowId').val(msg.d); 
     }, 
     error: function (request, status, error) { 
          alert(request.responseText); 
          alert(status.toString); 
     } 
    }; 
    $.ajax(options); 
} 

Когда я отлаживаю, возвращаемое значение в веб-методе является законным номером строки, но отладка значения в t он код jquery показывает msg.d = true. Не могу понять, почему значение строки преобразуется в логическое.

Любые советы, оцененные.

+0

Вы вызываете returnRowId с страницы aspx. Поэтому, я думаю, у вас нет веб-службы, но вместо этого вы хотите вызвать метод PageMethod вместо WebMethod. –

ответ

0

returnRowId объявлен как as Boolean, поэтому RowId преобразуется перед записью в ответ.

Смежные вопросы