Помогите, я застрял, пытаясь разобрать строку JSON, возвращенную из моего веб-сервиса - PullRequest
0 голосов
/ 08 августа 2011

Я не совсем уверен, получаю ли я JQuery или просто строку, даже после применения атрибута scriptservice и установки свойства ResponseFormat в Json.

[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));
                          }
                    });

1 Ответ

0 голосов
/ 08 августа 2011

Так как это объединенная строка, разделенная запятыми, вы можете попробовать это

$.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));
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...