1. 程式人生 > >序列化類型為XX的對象時檢測到循環引用

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

return time cti reflect 提示 處的 var 循環引用 ons

現象描述:

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);

}

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