将JSON传递给期望List <t>参数</t>的PageMethod

时间:2010-01-13 19:54:29

标签: asp.net json pagemethods

我有一个带有以下签名的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传递给服务器方法的魔力。谁能告诉我我做错了什么?

1 个答案:

答案 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"}
]
}