2012-04-02 28 views
12

我最近在Asp.Net Mvc2中发现了一些代码示例,这些代码在返回ContentResult的控制器中执行一些ajax调用。ContentResult vs JsonResult with ajax

我在尝试在Mvc3中转换这些样本时遇到了一些问题,而无需将动作的返回类型更改为JsonResult。

任何人都可以向我解释一下ajax调用中的ContentResult和JsonResult之间的区别,以及在哪些情况下我可以在ajax调用的上下文中使用一个或另一个?我发现了一篇好帖子here,详细解释了每种类型的结果,但这还不足以回答我的问题。

在Mvc3中有ContentResult和ajax调用的已知问题吗?

谢谢。

回答

6

如果JavaScript代码返回的结果是一段内容(如HTML),则应返回ContentResult或PartialViewResult(如果HTML使用局部视图格式化)。

如果结果是一个对象(特别是你想要操作的对象),那么它应该是一个JsonResult。

下面是使用JSON工作的一些很好的例子:http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx

祝你好运!

+0

哇,谢谢@Roy Dictus的快速答案。在我的情况下,我返回一个xml字符串,用于直接将其分配给FusionChart图形的数据源。你认为在这种情况下,JsonResult比ContentResult更好吗? – Samuel 2012-04-02 17:16:11

+0

这不是JSON,也不是由JavaScript处理的对象,所以这将是内容。 – 2012-04-02 18:39:01