带有2个参数的Ajax回调(int,List)

时间:2011-06-03 22:39:21

标签: jquery asp.net ajax

第一次使用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'回调(在select中发送项目):

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以获得第二个参数:

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

我不知道如何从客户端调用该方法,发送2个参数..?

1 个答案:

答案 0 :(得分:3)

你还需要json字符串化id,例如:

var jsonText = JSON.stringify({ levels: levels, id : 1});
相关问题