Взгляните на http://knockoutjs.com/ Это структура JavaScript, которая основана на шаблоне MVVM. В основном вы можете привязать модели массива данных к вашему HTML, а затем отправить их обратно в виде массивов JSON на ваш контроллер. Одним из замечательных побочных эффектов является то, что он помогает сделать ваши контроллеры более дружественными к блоку (поскольку ваши контроллеры в основном возвращают JSON).
Там отличное видео о нокауте в http://channel9.msdn.com/Events/MIX/MIX11/FRM08
В основном то, что вы хотите посмотреть на это наблюдаемые массивы. http://knockoutjs.com/documentation/observableArrays.html
Я также очень рекомендую вам посмотреть 20-минутное введение видео на knockout.js. Несмотря на то, что это более старое видео, оно дает вам хорошее представление о том, как это работает, это очень помогло мне. http://channel9.msdn.com/Events/MIX/MIX11/FRM08
Вы также можете использовать AngularJS http://angularjs.org/, который является той же концепцией (MVVM), которую выдает Google. Есть много различий между двумя, но самый главный (я заметил, что по крайней мере) находится в угловом состоянии, больше полагается на шаблоны, во многих отношениях он придает ему больше силы.
Между двумя я думаю, что нокаут легче вставать и работать, но у вас есть больше возможностей с AngularJS.
Я думаю, что люди делают такие вещи через Ajax, когда это возможно. Это не только намного проще с точки зрения кода, но и дает более удобный интерфейс. –
@JonGalloway вы можете ссылаться на какой-то пример? –
Неплохо, если вы не хотите, чтобы список перестраивался. Вы можете сделать это полностью на стороне клиента, например, с помощью knockoutjs или перейти на смешанный подход, вытягивая частичный вид через ajax для каждого нового элемента. –