【问题标题】:Best way to pass an array from JavaScript to C#?将数组从 JavaScript 传递到 C# 的最佳方法?
【发布时间】:2010-09-22 17:30:45
【问题描述】:

我需要将数组从 JavaScript 传递到 C# 中的页面方法。我尝试在 IList 的 C# 方法中使用参数以及 string[] 数组。两种方式都会抛出异常“无法将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);
}

【问题讨论】:

    标签: c# asp.net jquery web-services


    【解决方案1】:

    嗯,有两件事:

    1. JSON 数组周围有方括号
    2. 不引用 JSON 数字。

    试试这个:

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

    【讨论】:

      【解决方案2】:

      您需要使用其中一种 .NET JSON 反序列化器:

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

      【讨论】:

        【解决方案3】:
        {"testNumbers":["5555555555","3333333333","4444444444"]} 
        

        我是否应该与反序列化器一起解决问题。请参阅http://www.json.org/,它对 json 语法有很好的图形表示。

        【讨论】:

          猜你喜欢
          • 2011-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-23
          • 1970-01-01
          • 2018-12-18
          • 1970-01-01
          相关资源
          最近更新 更多