我正在从 ASP.Net 页面调用 WCF 方法,但当 WCF 尝试反序列化从 JavaScript 接收的 recordIds 参数时,出现格式异常。
传递给WCF方法的第一个参数需要是List类型。我在使用 JSON.stringify 时做错了什么吗?
调用WCF的Javascript代码
function Update() {
var myarray1 = new Array();
myarray1[0] = 1;
myarray1[1] = 11;
myarray1[2] = 14;
WCFService1.AJAXEnabledService.BatchUpdateRecords(
JSON.stringify({recordIDs: myarray1}) , "ddsd", "gggg",
updateGrid, OnError);
}
上面的 JavaScript 调用 WCF 方法
[OperationContract]
public bool BatchUpdateRecords(List<int> recordIds, string columnNameToUpdate, string columnValue)
{
DataTable tierIDsTable = new DataTable("RecordIds");
tierIDsTable.Columns.Add(new DataColumn("Integer", typeof(Int32)));
tierIDsTable.PrimaryKey = new DataColumn[] { tierIDsTable.Columns["TierId"] };
foreach (int recordId in recordIds)
{
tierIDsTable.Rows.Add(recordId);
}
return true;
}
最佳答案
不是100%确定,但是你尝试过吗?
WCFService1.AJAXEnabledService.BatchUpdateRecords(
myarray1,
"ddsd",
"gggg",
updateGrid, OnError);
关于javascript - 将 List<int> 从 Javascript 传递到 ASP.Net 页面中启用 AJAX 的 WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15424058/