Подтвердить что ты не робот

ContentResult против JsonResult с ajax

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

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

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

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

Спасибо.

4b9b3361

Ответ 1

Если результат, возвращаемый вашим кодом JavaScript, является частью контента, например HTML, вы должны вернуть ContentResult или PartialViewResult (если HTML отформатирован с использованием частичного представления).

Если результатом является объект (особенно тот, который вы хотите манипулировать), тогда он должен быть JsonResult.

Вот несколько хороших примеров работы с JSON: http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx

Удачи!