3

我有一个带有以下签名的 ASP.NET PageMethod:

<WebMethod()> _
Public Shared Function SaveCodes(ByVal codes As List(Of Code)) As String

我正在尝试从客户端将 JSON 对象传递给 PageMethod ,但我收到一个错误,即类型 String 无法转换为 List 类型<Code>

这是我在客户端上构建并发送到方法的 json:

{
“代码”:{
{“公司ID”:“00000000-0000-0000-0000-000000000000”,“客户类型”:“1”,“代码”:“11”},
{“公司ID”:“00000000-0000- 0000-0000-000000000000", "customerType":"1", "code":"21" }
}
}

这是我的 PageMethod 调用,(对象是上面的 json 字符串):

PageMethods.SaveCodes(objects, successFn, errorFn);

我已经能够传递简单的数据类型和 Code 类的单个实例,但我似乎找不到将 List 传递给服务器方法的魔力。谁能告诉我我做错了什么?

4

1 回答 1

3

我能够弄清楚。下面列出了正确的符号。缺少的主要部分是每个对象的 __type 属性。我不得不在从 PageMethod 返回的 List 中四处挖掘才能找到它。

{"codes":
[  
{"CompanyID":"00000000-0000-0000-0000-000000000000","Code":"11    ","CustomerType":"1","__type":"Code"},
{"CompanyID":"00000000-0000-0000-0000-000000000000","Code":"21    ","CustomerType":"1","__type":"Code"}
]
}
于 2010-01-13T20:52:42.430 回答