私はJSON、jqueryのデータテーブルにサーバーからこれを返すのですが、それはエラーを返します。エラーのオブジェクトをシリアル化している間に循環参照が検出されましたか?
System.InvalidOperationException: A circular reference was detected while serializing an object of type 'System.Reflection.RuntimeModule'.
at WebServices.himher.getUsers1(Int32 iDisplayLength, Int32 iDisplayStart, Int32 iSortCol_0, String sSortDir_0, String sSearch)
は.csコード:
public void getUsers1(int iDisplayLength, int iDisplayStart, int iSortCol_0, string sSortDir_0, string sSearch)
{
try
{
basicoperation bop = new basicoperation();
DataTable dt;
dt = bop.getUsers(iDisplayLength, iDisplayStart, iSortCol_0, sSortDir_0, sSearch); // fetching users
dt.TableName = "usersDT1";
//int iTotalRecords=0;
//int iTotalDisplayRecords= 0;
var retObj = new
{
iTotalRecords= 20,
iTotalDisplayRecords= 10,
aaData= dt
};
//string json = JsonConvert.SerializeObject(dt);
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(retObj));
}
catch (Exception ex)
{
throw ex;
}
}
例外メッセージはかなり明確です。シリアル化できないデータモデルの循環参照があります。 DTOには、データテーブル全体ではなく、ビューに到達すべきデータのみを選択させる – Alex