序列化類型為XX的對象時檢測到循環引用


現象描述:

MVC4中將dataTable轉換成Json時,總是提示錯誤:“序列化類型為“System.Reflection.RuntimeModule”的對象時檢測到循環引用。”;

說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

解決辦法:

js代碼:

   $.ajax({
            type: "POST",
            data: rqData,
            dataType: "json",
            url: "@(Url.Action("ShowResult", "Repair"))",
            success: function (res) {
                alert('成功');
            },
            error: function (ajaxobj)
            {
                alert(ajaxobj.responseText);
            }
         });

cs代碼:

  public JsonResult ShowResult()
        {
            var ip_name = Request["Sourcename"];
            var data = DAO.RepairClass.GetCompareCount(ip_name);

           //注意點: return Json(data );這樣寫會爆標題的錯誤,當更新為黃色背景代碼則程序正常輸出
            JsonSerializerSettings setting = new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };

            var ret = JsonConvert.SerializeObject(data, setting);

            return Json(ret, JsonRequestBehavior.AllowGet);
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM