【发布时间】:2015-04-28 10:47:56
【问题描述】:
我在 web 方法中将多维数组作为对象类型传递。我想在方法中将此对象类型转换为多个数组。
进行转换的方法:
[WebMethod]
public static string Save(object arr)
{
Dictionary<string, object> value = (Dictionary<string, object>)arr;
return "";
}
客户端代码:
//ajax method
var arr=new Array();
var table = document.getElementById('table');
for (var r = 0, n = table.rows.length; r < n; r++) {
arr[r] = new Array(10);
for (var c = 0, m = table.rows[r].cells.length; c < m; c++) {
arr[r][c]=table.rows[r].cells[c].innerHTML;
}
}
console.log(arr);
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: "salary.aspx/Save",
data: JSON.stringify({ arr: arr }),
success: function (response) {
alert(response.d);
}
});
错误信息是:
无法将“System.Object[]”类型的对象转换为类型 'System.Collections.Generic.Dictionary`2[System.Object,System.Object]'。
【问题讨论】:
-
你不能直接投射它。尝试循环和迭代单个项目。
标签: c# asp.net arrays asp.net-ajax webmethod