将数组从 JavaScript 传递到 C# 的最佳方法?
Posted
技术标签:
【中文标题】将数组从 JavaScript 传递到 C# 的最佳方法?【英文标题】:Best way to pass an array from JavaScript to 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);
【问题讨论】:
【参考方案1】:嗯,有两件事:
-
JSON 数组周围有方括号
不引用 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 语法有很好的图形表示。
【讨论】:
以上是关于将数组从 JavaScript 传递到 C# 的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章