我有一个带有以下签名的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调用,(object是上面的json字符串):
PageMethods.SaveCodes(objects, successFn, errorFn);

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

最佳答案

我能够弄清楚。正确的符号在下面列出。缺少的主要部分是每个对象的__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"}
]
}

关于asp.net - 将JSON传递给需要List <T>参数的PageMethod,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2059759/

10-10 03:06