C# 从AJAX向选择器值发送整数数组

C# 从AJAX向选择器值发送整数数组,c#,asp.net,ajax,bootstrap-selectpicker,C#,Asp.net,Ajax,Bootstrap Selectpicker,在一个模型弹出窗口中,我需要一个选择器下拉列表来预先填充值。我已经通过手动输入一些ID测试了该方法是否有效,如下所示: $("#listPhones").selectpicker('val', [1,5]); $("#listPhones").selectpicker("refresh"); 代码隐藏中的My[WebMethod]函数返回如下字符串: 1,5 我使用data.d将其插入,因此最终输出为: $.ajax({

在一个模型弹出窗口中,我需要一个选择器下拉列表来预先填充值。我已经通过手动输入一些ID测试了该方法是否有效,如下所示:

$("#listPhones").selectpicker('val', [1,5]);
$("#listPhones").selectpicker("refresh");
代码隐藏中的My[WebMethod]函数返回如下字符串:

1,5
我使用data.d将其插入,因此最终输出为:

                $.ajax({
                    type: "POST",
                    url: "/default.aspx/GetRespIds",
                    data: JSON.stringify({ Responders: editPhonetbxValue }),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        //alert(data.d);
                        $("#listPhones").selectpicker('val', [data.d]);
                        $("#listPhones").selectpicker("refresh");
                    }
                });

手动输入1,5值可以正常工作并按预期选择下拉列表中的项目,但通过AJAX data.d变量解析它却不行-有人能给我指出正确的方向吗?

如果方法返回字符串并需要数组,则必须使用split。您还必须将其解析为int。请尝试以下操作:

$("#listPhones").selectpicker('val', data.d.split(',').map(Number));

alert(data.d)显示了什么???@apomene它显示了预期的值:1,5编辑:我甚至在两侧放置了字符以确保没有空格等。我猜它是“1,5”,这是一个字符串,因此必须将其拆分并解析为int数组。啊,我现在看到我必须将其转换回int。非常感谢!!