2012-04-02 29 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