您的位置:首页 > Web前端 > JavaScript

使用json序列化类型为“ajax学习.DataSetComment+T_CommentDataTable”的对象时检测到循环引用。

2013-06-13 12:08 330 查看
今天学习ajax局部刷新实现分页,遇到了这样的异常

序列化类型为“ajax学习.DataSetComment+T_CommentDataTable”的对象时检测到循环引用。

意思就是说由于该数据类型太复杂,json无法转换该数据类型,现在需要做的是把你要转换的数据以类的对象的方式存储即可解决该问题。

今天把自己的部分代码列出来供大家参考

解决前代码

{
  varadapter=newT_CommentTableAdapter();

stringpagenum=context.Request["pagenum"];

intiPageNum=Convert.ToInt32(pagenum);

vardata=adapter.GetPagedData((iPageNum-1)*10+1,iPageNum*10);

JavaScriptSerializerjss=newJavaScriptSerializer();//JavaScript序列化对象

  context.Response.Write(jss.Serialize(data));//输出到页面
}


解决后代码

  

{
vardata=adapter.GetPagedData((iPageNum-1)*10+1,iPageNum*10);

List<Comments>list=newList<Comments>();
foreach(varrowindata)
{
list.Add(newComments(){Id=(int)row.Id,IP=row.IP,Msg=row.Msg,PostDate=row.PostDate,});
}
JavaScriptSerializerjss=newJavaScriptSerializer();
context.Response.Write(jss.Serialize(list));
}

 publicclassComments
 {
    publicintId{get;set;}
    publicstringIP{get;set;}
    publicstringMsg{get;set;}
    publicstringPostDate{get;set;}
 }


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐