2010-01-13 38 views
3

我有一個ASP.NET PageMethod的具有以下簽名PageMethod的:傳遞JSON給需要一個List <T>參數

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

我試圖JSON對象從客戶端傳遞到PageMethod的,但我得到一個錯誤,即類型字符串不能轉換爲列表類型<Code>

這裏是我建立在客戶端和發送給該方法的JSON:

{
'代碼':{
{ 「companyID」:「00000000-0000-0000-0000- 000000000000-0000-0000-000000000000「,」customerType「:」1「,」code「:」000000000000「,」customerType「:」1「,」code「:」11「},
{」companyID「 : 「21」}
}
}

這裏是我的電話PageMethod的(對象是JSON上面的字符串):

PageMethods.SaveCodes(objects, successFn, errorFn); 

我已經能夠用簡單的數據類型和代碼類的一個實例來傳遞,但我似乎無法找到魔法列表傳遞給服務器的方法。任何人都可以告訴我我做錯了什麼?

回答

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"} 
] 
} 
+0

我沒有寫出來對這個博客文章進行更詳細的描述: http://www.brentman.com/blog/2010/01/15/asp-net-pagemethods-using-generic - 列表 – 2010-05-07 14:54:28

+0

謝謝!爲此,尤其是您的博客文章。剛剛爲我節省了很多時間。 – kenswdev 2012-12-27 18:44:25

相關問題