今天學習ajax局部重新整理實現分頁,遇到了這樣的異常
序列化類別型為“ajax學習.DataSetComment+T_CommentDataTable”的對象時檢測到循環參考。
意思就是說由於該資料類型太複雜,json無法轉換該資料類型,現在需要做的是把你要轉換的資料以類的對象的方式儲存即可解決該問題。
今天把自己的部分代碼列出來供大家參考
解決前代碼
{
var adapter = new T_CommentTableAdapter();
string pagenum=context.Request["pagenum"]; int iPageNum = Convert.ToInt32(pagenum); var data = adapter.GetPagedData((iPageNum - 1) * 10 + 1,iPageNum * 10);
JavaScriptSerializer jss = new JavaScriptSerializer();//JavaScript序列化對象
context.Response.Write(jss.Serialize(data )); //輸出到頁面
}
解決後代碼
{ var data = adapter.GetPagedData((iPageNum - 1) * 10 + 1, iPageNum * 10); List<Comments> list=new List<Comments> (); foreach(var row in data) { list.Add(new Comments() { Id = (int)row.Id, IP = row.IP, Msg = row.Msg, PostDate = row.PostDate, }); } JavaScriptSerializer jss = new JavaScriptSerializer(); context.Response.Write(jss.Serialize(list));}
public class Comments
{
public int Id { get; set; }
public string IP{get;set;}
public string Msg{get;set;}
public string PostDate{get;set;}
}