ContentResult vs JsonResult with ajax

时间:2012-04-02 16:09:24

标签: c# ajax json asp.net-mvc-3

我最近在Asp.Net Mvc2中找到了一些代码示例,它们对控制器中的操作进行了一些ajax调用,返回ContentResult。

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

有人可以向我解释在ajax调用的上下文中ContentResult和JsonResult之间的区别是什么?在哪些情况下我可以在ajax调用的上下文中使用其中一个?我找到了一篇很好的帖子here,详细解释了每种类型的结果,但这还不足以回答我的问题。

在Mvc3中是否存在ContentResult和ajax调用的已知问题?

谢谢。

1 个答案:

答案 0 :(得分:6)

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

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

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

祝你好运!