2012-03-05 14 views
0

.net webserviceからjqueryに整数値を渡すと、ブール値として返されます。.net webserviceからjqueryに渡す値

私のWebサービス:

 <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 

ここでROWIDを返すSQLコードがある」

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

ここでは私のAjaxのコードはWebサービスを呼び出して、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); 
} 

私がデバッグするとき、webmethodの戻り値は正当な行番号ですが、tの値をデバッグするjQueryコードではmsg.d = trueと表示されます。行の値がブール値に変換される理由を理解できません。

アドバイスありがとうございます。

+0

aspxページからreturnRowIdを呼び出します。だから私はあなたがWebサービスを持っていないと思いますが、WebMethodの代わりにPageMethodを呼びたいと思っています。 –

答えて

0

returnRowIdas Booleanと宣言されているため、RowIdは応答に書き込まれる前に変換されています。

関連する問題