我想在控制器中处理的对象类型是:List>。所以基本上,在服务器端我有一个方法:
public void foo(List<Tuple<bool, string>> arg)
在客户端:我有一系列javascript对象,我填写如下:
var _array = [];
for (var i = 1; i <= checkBoxesCount; ++i) {
var currentBool = $("input[id^='xx+" + i + "']").is(":checked");
var currentString = $("label[id^='yy+" + i + "']").attr('stringValue');
_array.push({
boolValue: currentBool,
stringValue: currentString
});
}
我已检查过客户端是否正确读取了布尔值和字符串值。
我得到的确切错误是在Newtonsoft.Json.dll中发生类型'System.InvalidCastException'的例外,但未在用户代码中处理
其他信息:无法将'System.String'对象强制转换为'System.Dynamic.ExpandoObject'。在JsonNetValueProviderFactory.cs文件中
编辑:Ajax电话:
$.ajax({
url: myUrl,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ 'array': _array })
});