0

私はjqueryの初心者です。実際、ProcesAPI.aspx ページにある WebMethod を呼び出すことができません。

[WebMethod(EnableSession = true)]
    public string GetJsonData()
    {
        JavaScriptSerializer js = new JavaScriptSerializer();
        var persons = new List<Person>
                              {
                                  new Person{Id = 1, FirstName = "F1", 
                                      LastName = "L1", 
                                      Addresses = new List<Address>
                                                      {
                                                          new Address{Line1 = "LaneA"},
                                                          new Address{Line1 = "LaneB"}
                                                      }},

                                  new Person{Id = 2, FirstName = "F2", 
                                      LastName = "L2", 
                                      Addresses = new List<Address>
                                                      {
                                                          new Address{Line1 = "LaneC"},
                                                          new Address{Line1 = "LaneD"}
                                                      }}};

        string result = js.Serialize(persons);
        return result;
    }

私がページを生成しているページは「MyForm.aspx」で、これは私のprocessApi GetJsonDataメソッドを呼び出している私のページfrpmです。

 $(document).ready(function () {
            $('#btnSubmit').click(function () {
                $.getJSON('ProcessAPI.aspx\GetJsonData', null, function (data) {
                    var div = $('#ajaxDiv');
                    div.html("<br/> " + "Persons received from server: " + "<br/>");
                });
                alert('Hii I ');
                return false;
            });
        });

        function printPerson(div, item) {
            div.append("<br/>" + "FName: " + item.FirstName + ", LName: " + item.LastName);
            $.each(item.Addresses, function (i, addr) {
                printAddress(div, addr);
            });
        }

        function printAddress(div, item) {
            div.append("<br/>" + "   " + "Line1: " + item.Line1);
        }

しかし、私のメソッドは呼び出されていません... :(

4

2 に答える 2

1

メソッドを静的にマークする

public static string GetJsonData()
于 2013-10-24T16:47:04.867 に答える