這篇主要是在描寫我最近專案中遇到的兩個問題,作個筆記而已

有 WCF 的也有 jqGrid 的XD

我大概還是閒不太住的人... 結果我還是用年假在研究一些東西...

這次主要還是老樣子是之前在弄的案子,因為我更新了一些 nuget 套件,結果導致他一直出現像

  • 警告 1 自訂工具警告: 無法匯入 wsdl:portType
  • 詳細資料: 執行 WSDL 匯入延伸時發生例外狀況: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
  • 錯誤: 類型 'Newtonsoft.Json.Linq.JToken' 是不支援的遞迴集合資料合約。請考慮修改集合 'Newtonsoft.Json.Linq.JToken' 的定義,移除自我參考。
  • 錯誤來源的 XPath: //wsdl:definitions[@targetNamespace='http://localhost/']/wsdl:portType[@name='IAccount'] Z:\Users\xxx\Documents\Visual Studio 2012\Projects\xxx\xxx\Service References\xxxService.Account\Reference.svcmap 1 1 xxx

結果找了很多資料試了很多方法都沒效,最後找到一篇文章教了一個方法,一試就成功,整個淚目~

只要在服務參考上按右鍵,選「服務參考設定」,在視窗中把「重覆使用參考組件中的型別」的打勾給取消掉,然後再更新一次服務參考,就ok了!
(中間也有試過下面的勾勾只把 Newtonsoft.Json.Linq.JToken 拿掉,但還是過不了... )


 

接下來把 WCF 服務搞定後,當然就是資料的呈現了,那我 grid 是選用 jqgrid (←這隻很愛用 jqgrid

結果就我印象中的使用方式一直也不正常,一直出現像

Uncaught TypeError: Cannot read property '0' of undefined 

這樣的錯誤訊息,查起來好像是因為我用的 jqGrid 是 4.4.4 版,跟以前的設定有點不太一樣,所以要在 jqGrid 的 Parameter 中加入

jsonReader : { repeatitems: false }

這樣的參數,他就能正常運作了!

創作者介紹

天翼翔幻

MyWCT 發表在 痞客邦 PIXNET 留言(0) 人氣()