JSON со сложными объектами или asp.net частичное представление / частичное результаты - PullRequest
1 голос
/ 21 декабря 2009

если у меня есть div или partcontrol, и у меня есть ссылка, по которой я хочу щелкнуть, чтобы обновить div, похоже, я могу:

  1. используйте ajax.beginform или ajax.actionlink и возвращайте PartialResult ()
  2. используйте jquery для отправки / получения / ajax и возврата json

если у меня есть большой сложный объект, который я привязываю к своему виду, какой вариант лучше. похоже, что для # 1 вы получаете преимущество статической типизации кода csharp (по сравнению с синтаксическим анализом json). , любые другие ключевые моменты решения, которые должны вступить в игру? Существуют ли инструменты для преобразования глубоко вложенных объектов csharp в json из действий контроллера.

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Существует множество опций, которые можно выбрать для управления очень сложным объектом .NET для контроллера. По моему мнению, я думаю, что в приложении RIA, которое имеет множество сложных элементов управления, невозможно сделать его представление или частичное представление, поскольку необходимо динамически создавать тонну html, например, div of div, чтобы отображать только один сложный элемент управления, например gridview.

Итак, лучший способ справиться с этим - рендеринг с JSON-результатом для контроллера. Потому что вы можете легко контролировать любой фрагмент кода и привязывать данные к сложному управлению.

Например, функции управления просмотром данных и шаблоны Ajax в бета-версии библиотеки ASP.NET Ajax позволяют привязывать данные к любому шаблону в документе HTML, например к следующему шаблону.

<div id="CustomerView" class="sys-template">  
  <ul>  
    <li>{{ContactName}} - {{Country}}</li>  
  </ul>  
</div>

Для получения дополнительной информации, пожалуйста, посмотрите WALKTHROUGH Использование DataView с локальными данными .

0 голосов
/ 21 декабря 2009

Одной вещью, которую вы, возможно, захотите контролировать, является возможная информация о приложении / сообщения об ошибках, трудно сказать, что происходит только с простым текстом / html, с JSON у вас больше контроля, вы можете использовать такую ​​структуру, как:

{
SUCCESS: true,
DATA: "",
ERRORS: []
}

Где SUCCESS сообщает вам статус произошедшего "ОК / информация / исключения".

DATA - это место, куда вы помещаете HTML, объекты ... вы называете его, это зависит от УСПЕХА, если он был ИСТИНА, то в нем содержится HTML-код, который нужно заменить, если он был ЛОЖЬ, возможно, данные пусты.

ОШИБКИ содержат сообщения об исключениях или обратную связь, которую вы хотите, чтобы пользователь увидел, если что-то пошло не так с запросом.

Сложная часть здесь - это частичное рендеринг в виде строки и синтаксический анализ JSON, здесь - это подход к тому, как это можно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...