我有一个带有以下签名的ASP.NET PageMethod:
<WebMethod()> _
Public Shared Function SaveCodes(ByVal codes As List(Of Code)) As String
我正在尝试从客户端将JSON对象传递给PageMethod,但是我收到一个错误,即String类型无法转换为List <Code>
的类型。
这是我在客户端上构建并发送到方法的json:
{
'代码':{
{“companyID”:“00000000-0000-0000-0000-000000000000”,“customerType”:“1”,“code”:“11”},
{“companyID”:“00000000-0000-0000-0000-000000000000”,“customerType”:“1”,“code”:“21”}
}
}
这是我的PageMethod调用,(对象是上面的json字符串):
PageMethods.SaveCodes(objects, successFn, errorFn);
我已经能够传递简单数据类型和Code类的单个实例,但我似乎无法找到将List传递给服务器方法的魔力。谁能告诉我我做错了什么?
答案 0 :(得分: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"}
]
}