天天看點

序列化類型為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);

        }

繼續閱讀