Ajax обратный вызов с 2 параметрами (int, List) - PullRequest
0 голосов
/ 04 июня 2011

Работа с jquery.ajax в первый раз ...

У меня есть класс на C #:

public class myValues
{
    string Value1 { get; set; }
    string Value2 { get; set; }
}

Тогда мой метод выглядит следующим образом:

[WebMethod]
public static string MyMethod(List<myValues> levels)
{
         //loop levels here
}

Теперь в клиенте (javascript, jquery) я выполняю обратный вызов ajax (отправка элементов внутри выбора):

var levels = [];
//get items from select
$("#Select1 option").each(function () {

            levels.push({
                    Value1: $(this).val(),
                    Value2: $(this).text()
            });

        });

        //with json2.js :
        var jsonText = JSON.stringify({ levels: levels });
        $.ajax({
             type: "POST",
             url: "myPage.aspx/MyMethod",
             data: jsonText,
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function () { alert("it worked"); },
             failure: function () { alert("Uh oh"); }
        });

Здесь все отлично работает ...

Но теперь я хочу изменить свой веб-метод, чтобы получить второй параметр:

[WebMethod]
public static string MyMethod(List<myValues> levels, int id)
{
         //loop levels here
}

Я не знаю, как вызвать метод из клиента, отправив 2 параметра ..?

1 Ответ

3 голосов
/ 04 июня 2011

Вам также нужно json привести в порядок идентификатор, например:

var jsonText = JSON.stringify({ levels: levels, id : 1});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...