0
問題使用JavaScriptSerializer序列化時,遇到了奇怪的外殼導致JSON很簡單,就是在生成的JSON我有時會這樣:在.net 3.5 VB
{"success":true, "tests":[{"visningsNamn":"Test1","id":1},{"visningsNamn":"Test2","id":2}]}
其他時間我得到這個:
{"success":true, "tests":[{"Visningsnamn":"Test1","id":1},{"Visningsnamn":"Test2","id":2}]}
參數Visningsnamn不時得到不同的套管。似乎隨機的,沒有任何變化已在獲取數據並且將其序列發生問題的時間之間的代碼進行了:
Dim tbl = From t In db.Guideinriktningars Order By t.Visningsnamn Ascending Select t.Visningsnamn, t.id
If Not query = "" Then
tbl = From t In tbl Where t.Visningsnamn.ToLower.Contains(query.ToLower)
End If
Dim dataString As String = ""
dataString = "{""success"":true, """ & root & """:"
Dim s As New System.Web.Script.Serialization.JavaScriptSerializer
dataString += s.Serialize(tbl).ToString
dataString += "}"
c.Response.Write(dataString)
在客戶端我用這個信息來這樣就把一個ExtJS的組合框是這樣的:
{
fieldLabel: 'Inriktning',
xtype: 'combo',
store: new Ext.data.JsonStore({
url: '_handlers/handleInriktningTexter.ashx',
editor: this,
root: 'inrs',
baseParams: { func: 'loadAll', root: 'inrs' },
fields: ['id', 'Visningsnamn']
}),
displayField: 'Visningsnamn',
valueField: 'id',
valueParam: 'id',
triggerAction: 'all',
forceSelection: true,
mode: 'remote',
emptyText: 'Välj inriktning...',
name: 'inrId',
id: 'inrId',
width: 250,
allowBlank: false
}
我在代碼中設置爲displayParam帕拉姆「Visningsnamn」,當它改變套管它在JsonStore或組合作爲displayParam不工作,因爲JSON從以同樣的方式命名的服務器心不是返回。
任何idéas或想什麼,這是怎麼回事,導致這是值得歡迎的!
對不起,我應該也解釋了即時消息在客戶端做什麼。將使用該信息更新問題。 –