关于asp.net:将数组从JavaScript传递到C#的最佳方法?

Best way to pass an array from JavaScript to C#?

我需要将JavaScript中的数组传递给C#中的page方法。我试过在IList的C#方法中使用一个参数以及一个string []数组。两种方式均会引发异常"无法将类型为system.string的对象转换为xxx",其中xxx是C#方法中的参数类型。我正在将jQuery中的对象作为json对象传递,并且看起来像是通过了正确处理。外观如下:

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

我在这里做错什么了吗?

编辑:C#代码:

1
2
3
4
5
6
[WebMethod()]
public static void ProcessAction(string[] testNumbers)
{
    var dataProvider = new DataProvider();
    dataProvider.ProcessAction(testNumbers);
}

嗯,两件事:

  • JSON数组周围有方括号
  • 没有引用JSON数字。
  • 尝试以下方法:

    1
    {"testNumbers": [5555555555,3333333333,4444444444]}

    您需要使用.NET JSON反序列化器之一:

    http://msdn.microsoft.com/zh-cn/library/bb299886.aspx


    1
    {"testNumbers":["5555555555","3333333333","4444444444"]}

    我应该和解串器一起解决这个问题。参见http://www.json.org/,它具有json语法的出色图形表示。