Лучший способ передать массив из JavaScript в C #? - PullRequest
2 голосов
/ 17 ноября 2008

Мне нужно передать массив из JavaScript в метод страницы в C #. Я попытался использовать параметр в методе C # IList, а также массив строк []. Оба способа выдают исключение «невозможно преобразовать объект типа system.string в xxx», где xxx - это тип параметра в методе C #. Я передаю объект из jQuery как объект json, и похоже, что он проходит правильно. Вот как это выглядит:

{"testNumbers":"5555555555,3333333333,4444444444"}

Что я здесь не так делаю?

РЕДАКТИРОВАТЬ: C # код:

[WebMethod()]
public static void ProcessAction(string[] testNumbers)
{
    var dataProvider = new DataProvider();
    dataProvider.ProcessAction(testNumbers);
}

Ответы [ 3 ]

10 голосов
/ 17 ноября 2008

Хм, две вещи:

  1. массивы JSON имеют квадратные скобки вокруг них
  2. Номера JSON не указаны.

Попробуйте вместо этого:

{"testNumbers": [5555555555,3333333333,4444444444]}
3 голосов
/ 17 ноября 2008

Вам необходимо использовать один из десериализаторов .NET JSON:

http://msdn.microsoft.com/en-us/library/bb299886.aspx

0 голосов
/ 17 ноября 2008
{"testNumbers":["5555555555","3333333333","4444444444"]} 

Должен ли я сделать трюк вместе с десериализатором. см. http://www.json.org/, который имеет отличное графическое представление синтаксиса json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...