2012-04-02 5 views
12

Недавно я нашел несколько примеров кода с Asp.Net Mvc2, который вызывает некоторые вызовы ajax для действий в контроллере, который возвращает ContentResult.ContentResult vs JsonResult с ajax

У меня возникли некоторые проблемы при попытке конвертировать эти образцы в Mvc3 без изменения типа возвращаемых действий в JsonResult.

Может ли кто-нибудь объяснить мне, в чем разница между ContentResult и JsonResult в контексте вызовов ajax и в каких случаях я могу использовать тот или иной компонент в контексте вызовов ajax? Я нашел хороший пост here, который подробно объясняет каждый тип результата, но этого недостаточно, чтобы ответить на мой вопрос.

Есть ли известные проблемы с ContentResult и ajax-вызовами в Mvc3?

спасибо.

ответ

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

+0

Это не JSON, а не объект для обработки JavaScript, так что это будет контент. –

Смежные вопросы