ContentResult против JsonResult с ajax
Недавно я нашел несколько примеров кода с Asp.Net Mvc2, который делает некоторые аякс-вызовы действиям в контроллере, который возвращает ContentResult.
У меня возникли некоторые проблемы при попытке конвертировать эти образцы в Mvc3 без изменения возвращаемого типа действий в JsonResult.
Может кто-нибудь объяснить мне, в чем разница между ContentResult и JsonResult в контексте вызовов ajax, и в каких случаях я могу использовать тот или иной компонент в контексте вызовов ajax? Я нашел хороший пост здесь, в котором подробно объясняется каждый тип результата, но этого недостаточно, чтобы ответить на мой вопрос.
Известны ли проблемы с вызовами ContentResult и ajax в Mvc3?
Спасибо.
Ответы
Ответ 1
Если результат, возвращаемый вашим кодом JavaScript, является частью контента, например HTML, вы должны вернуть ContentResult или PartialViewResult (если HTML отформатирован с использованием частичного представления).
Если результатом является объект (особенно тот, который вы хотите манипулировать), тогда он должен быть JsonResult.
Вот несколько хороших примеров работы с JSON: http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx
Удачи!