2010-07-26 78 views
2

我正在处理MVC项目,并在查看页面中使用jQuery从控制器获取数据。返回JSON数据以查看ASP.NET MVC中的页面

public JsonResult CheckUpdate() 
{ 
    dt = dt.AddSeconds(-100); 

    IQueryable<Tweet> _tweet = ttr.CheckTime(dt); 

    return Json(_tweet, JsonRequestBehavior.AllowGet); 
} 

这是我的控制器的方法后者从库类回的数据,并将它作为JSON到我的视图页面,它使用jQuery来得到它。

当我运行程序和萤火虫检查,它显示我的误差是:在序列化类型“TweetTrafficReport.Models.User”

的目的检测

循环引用我问题是

  • 它是正确的,我返回JSON数据,它是IQueryable的类型
  • 我怎么能在我看来页面,而不是GE使用JSON数据t等上面

感谢乌拉圭回合的帮助:)

回答

2

循环引用我敢打赌,是因为一个错误的事实你有你的鸣叫对象参考回复

IQueryable真的不是一个大的问题,像铸造每个鸣叫一样JsonCapableTweet像hanselman那样 http://nerddinnerbook.s3.amazonaws.com/Part11.htm

但它确实有助于在方式lolok Twitter的做到这一点

http://search.twitter.com/search.json?callback=foo&q=twitter

这就是相当不错的JSON他们回来,你匹配到他们的是一个好习惯

+0

你认为循环引用问题来形成我的数据库中有什么冲突,因为我尝试和改变属于NerdDinner你给,它仍然是循环引用问题 – icepon 2010-07-26 17:04:30

+0

你的代码将其更改为jsonTweet的样子? – MarkKGreenway 2010-07-26 17:07:52

+0

在我的数据库中有我的错误谢谢你的帮助 – icepon 2010-07-26 17:18:13

2

你真的不应该返回的IQueryable为JSON,试图返回一个视图模型,而不是

public JsonResult CheckUpdate() 
{ 

    dt= dt.AddSeconds(-100); 

    IQueryable<Tweet> _tweet = ttr.CheckTime(dt); 

    var tweetVm = _tweet.Select(t => new TweetViewMode(){ Message = t.Message }); 

    return Json(tweetVm, JsonRequestBehavior.AllowGet); 
} 
相关问题