2012-03-13 31 views
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格式返回我的數據?

謝謝。

+0

做什麼開發工具的JSON通話說什麼?它是否返回application/json的結果? – 2012-03-30 14:10:27

回答

0

也許是這樣的:

Return Mid(serializedReturnData, 2, Len(serializedReturnData) - 2)