Когда я передаю целочисленное значение из .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, вызывающий веб-сервис и фиксирующий идентификатор строки:
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);
}
Когда я отлаживаю, значение Return в веб-методе является допустимым номером строки. Но отладказначение в коде jquery показывает msg.d = true. Не могу понять, почему значение строки преобразуется в логическое значение.
Любой совет приветствуется.