0
我在通過web服務將KendoUI圖表綁定到遠程數據庫時遇到了一些麻煩。通過webservice綁定KendoUI圖表到數據庫
這裏是我的代碼:
$("#chart").kendoChart({
theme: $(document).data("kendoSkin") || "default",
dataSource: {
transport: {
read: {
url: "/WebServices/WebFunctions.asmx/RetrieveProjectCountByBMP",
dataType: "json"
}
},
schema: {
model: {
fields: {
Code: { type: "string" },
Count: { type: "number" }
}
}
},
sort: {
field: "Code",
dir: "asc"
}
},
title: {
text: "Project Count by BMP"
},
seriesDefaults: {
type: "column"
},
series: [{
field: "Count",
name: "Project Count"
}],
categoryAxis: {
field: "Code"
},
tooltip: {
visible: true,
format: "{0:N0}"
}
});
,這裏是Web服務代碼:
<WebMethod(EnableSession:=True)> _
Public Function RetrieveProjectCountByBMP() As Object
Dim returnData = (From p As Project In Project.RetrieveAll() _
Join cs As ClaimScope In ClaimScope.RetrieveAll() On p.ProjectId Equals cs.ProjectId _
Join b As BMP In BMP.RetrieveAll On cs.BMPId Equals b.BMPId _
Where (p.ProjectMilestoneId = 17 Or p.ProjectMilestoneId = 18 Or p.ProjectMilestoneId = 19) _
And p.FiscalyearId = 5 _
Select b.Code, p.ProjectId).GroupBy(_
Function(bmpCode) bmpCode.Code _
, Function(proj) proj.ProjectId _
, Function(bmpCode, projects) New With {.Code = bmpCode, .Count = projects.Count()})
Dim serializedReturnData As JavaScriptSerializer = New JavaScriptSerializer(returnData)
Return serializedReturnData.Serialize(serializedReturnData)
Return serializedReturnData
End Function
我已經驗證了我的web服務返回一個完整的數據集。 問題是,當我運行代碼時,圖表沒有被填充。沒有錯誤消息,也沒有事件日誌中觸發的事件。
我能找到的唯一的問題是,web服務返回與領先尾隨引號,像這樣的數據:
「[{」編碼「:」 1301" ,‘伯爵’:239},{」代碼 「:」 1401" , 「伯爵」:178},{ 「編碼」: 「1001」, 「伯爵」:33}]」
當我複製數據從Web服務返回到以.json文件並將圖表綁定到該圖表,它工作正常。但是,我必須刪除前導引號和尾部引號才能使其起作用。
如何讓我的web服務以正確的JSON格式返回我的數據?
謝謝。
做什麼開發工具的JSON通話說什麼?它是否返回application/json的結果? – 2012-03-30 14:10:27