1

これは私のクラスです:

Public Class Employeeclass
Public Property Fname As String
Public Property Lname As String
Public Property Bdate As Date
End Class

これは私の方法です:

 <WebMethod()>
Public Shared Function Getemployee(ByVal id As Integer) As List(Of Employeeclass)
    Threading.Thread.Sleep(2000)
    Dim db As New NorthwindEntities
    Return db.Employees.Where(Function(q) q.EmployeeID = id).Select(Function(q) New Employeeclass With {.Lname = q.LastName, .Fname = q.FirstName, .Bdate = q.BirthDate}).ToList()
End Function

これは私のスクリプトコードです:

$(document).ready(function () {
        $("#btnsearch").click(function () {
            $("#result").addClass("loading");
            $("#result").text("");
            $.ajax({
                type: "POST",
                url: "Default.aspx/Getemployee",
                contentType: "application/json;charset=utf-8",
                data: "{'id':" + $("#txtsearch").val() + "}",
                dataType: "json",
                success: function (data) {
                    $("#result").removeClass("loading");
                    var employee = data.d;
                    if (employee.length > 0) {
                        for (var i = 0; i < employee.length; i++) {
                            $("#result").append(employee[i].Fname + ",");
                            $("#result").append(employee[i].Lname + ",");
                            $("#result").append(employee[i].Bdate + "<br/>");
                        }
                    }
                }
            });
        });
    });

jquery ver "jquery-1.3.2.js" ならこれでOKです。
しかし、「jquery-1.7.2.js」または「jquery-1.7.2.min.js」を使用すると。
次のエラーが表示されます: Message=Invalid Web service call, missing value for parameter: 'id'.
私の悪い英語でごめんなさい

4

3 に答える 3

0

これを送る

"{'id':" + $("#txtsearch").val() + "}"

整数にバインドできないjson文字列を送信するだけ
です代わりに、整数型のIDにバインドできるjsonオブジェクトを送信する必要があります

data:{"id":$("#txtsearch").val()}

リクエストを送信すると、デバッグして、データがこのように送信されていることを確認できます

id=ur_value
于 2012-05-11T12:47:27.797 に答える