五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Linq to sql里實(shí)體轉(zhuǎn)換為JSON的問(wèn)題.-循環(huán)引用

Linq to sql里實(shí)體轉(zhuǎn)換為JSON的問(wèn)題.-循環(huán)引用

文章來(lái)源:365jz.com     點(diǎn)擊數(shù):1271    更新時(shí)間:2009-09-17 10:28   參與評(píng)論
  • Linq to sql里實(shí)體轉(zhuǎn)換為JSON的問(wèn)題.

  • 在學(xué)習(xí)段asp.net mvc 后.本想用做個(gè)這樣的項(xiàng)目.只是在這里前臺(tái)與后臺(tái)通過(guò)xml通信不是我所喜歡的.
    直到學(xué)習(xí)到JSON的傳輸,我想這就是我要用的了.如下.用Linq to sql來(lái)對(duì)象化數(shù)據(jù).然后準(zhǔn)備OK.先用JSON
    下下來(lái)做個(gè)例子看看前臺(tái)與后臺(tái)如何用JSON通信.后臺(tái)如下.

    Code

    前臺(tái)如下.

    Code

    實(shí)現(xiàn)沒(méi)有什么問(wèn)題.都是我相要的結(jié)果.然后我就想可以用數(shù)據(jù)庫(kù)里的來(lái)和前臺(tái)交互了.如下.

    Code

     到這里就有問(wèn)題了.首先我想到是前臺(tái)有問(wèn)題,與是用IE8.0的調(diào)試器,呵呵,比較好用(本來(lái)老是用IE6的,因?yàn)橄肟茨澄慌H?br />的文章沒(méi)辦法才改的)發(fā)現(xiàn)了個(gè)好調(diào)試器.下斷點(diǎn)后發(fā)現(xiàn)根本到不了success里.沒(méi)辦法.查找Jquery里的函數(shù).發(fā)現(xiàn)這個(gè)
    complete.不管成功與否,都用給你調(diào)用.我下斷點(diǎn)到里.可以看到有個(gè)錯(cuò)誤提示比較有用 --------- 循環(huán)引用--------.
    但是不理解其含義.與是調(diào)試后臺(tái).MVC下有個(gè)json因?yàn)檎{(diào)試?yán)镄畔⒉蝗?在網(wǎng)上找到j(luò)son.net下來(lái)引用.發(fā)現(xiàn)還是解決不了.沒(méi)辦法
    我把json.net項(xiàng)目加入到我的解決方案.然后開(kāi)始跟蹤調(diào)試.后終于找到錯(cuò)誤地方.如下

    這里后就會(huì)轉(zhuǎn)入錯(cuò)誤,最后我在這里分析后,然后查看linq to sql為我生成的代碼.發(fā)現(xiàn)問(wèn)題所在.如下所示.
    在這里我看到了voteTitle.我說(shuō)下的的結(jié)構(gòu)吧.vote-問(wèn)卷.votetitle-問(wèn)卷題目.titleitem-題目選項(xiàng).
    vote-votetitle 一對(duì)多,votetitle-titleitem 一對(duì)多.
    本身這里是要根據(jù)反射在找votetitle的屬性,votetitle里因?yàn)榘?span style="color: #ff0000">titleitem
    ,這也沒(méi)什么.就找到titleitem,然后他又查找
    titleitem
    里的屬性.這下問(wèn)題來(lái)了.因?yàn)?span style="color: #ff0000">titleitem里有個(gè)屬性就是原votetitle,這下好了,他又開(kāi)始找votetitle了,形成了我所
    開(kāi)始不知道的循環(huán)引用.
    下面給出linq to sql為我生成的代碼.

    在這得到原因.解決方法那就很多了.我就用json.net里的linq.如下.
                var rss = from title in titles
                              select new { Title = title.Title, Statue = title.Statue };
                string ss = JsonConvert.SerializeObject(rss);
    這里生成的結(jié)果大家有想不通的可以看我前一遍文章.
    http://www.cnblogs.com/zhouxin/archive/2009/09/09/1562970.html
    最后感想.有個(gè)好的調(diào)試工具真的不錯(cuò).(在大學(xué)里學(xué)java我就是因?yàn)槭懿涣四莻€(gè)java給我的錯(cuò)誤原因.轉(zhuǎn)投到VC6,現(xiàn)在到VS).
    本人水平有限,有什么錯(cuò)誤的地方,希望大家指出.謝謝.

    如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

    發(fā)表評(píng)論 (1271人查看,0條評(píng)論)
    請(qǐng)自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
    昵稱(chēng):
    最新評(píng)論
    ------分隔線(xiàn)----------------------------

    其它欄目

    · 建站教程
    · 365學(xué)習(xí)

    業(yè)務(wù)咨詢(xún)

    · 技術(shù)支持
    · 服務(wù)時(shí)間:9:00-18:00
    365建站網(wǎng)二維碼

    Powered by 365建站網(wǎng) RSS地圖 HTML地圖

    copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)