即使在应用了scriptservice属性并将ResponseFormat属性设置为Json之后,我也不确定我是获取JQuery还是仅仅是一个字符串。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public ArrayList GetRoles()
{
ArrayList arr = new ArrayList();
arr.Add("manager");
arr.Add("Project manager");
arr.Add("Super Admin");
arr.Add("Admin");
arr.Add("Customer Rep");
arr.Add("Sales Rep");
arr.Add("Help Desk");
arr.Add("Supervisor");
arr.Add("Client");
return arr;
}
我在前端获得的内容(当我使用弹出窗口查看时)是一个由逗号分隔的所有值的字符串。下面的代码似乎无法在下拉列表中显示列表。任何帮助将不胜感激。
$.each(msg.d, function (i, item) {
if (item) {
alert(i);
alert(item);
$("<%= SelectRole.ClientID %>").append($("<option></option>").attr("value", i).text(item));
}
});
答案 0 :(得分:0)
由于用逗号分隔的连接字符串,您可以尝试使用
$.each(msg.split(","), function (i, item) {
$("#<%= SelectRole.ClientID %>")
.append($("<option></option>")
.attr("value", "-1")
.text("select role"));
if (item) {
alert(item);
$("#<%= SelectRole.ClientID %>")
.append($("<option></option>")
.attr("value",i)
.text(item));
}
});