Spójrz na http://knockoutjs.com/ to framework JavaScript, który opiera się na wzorcu MVVM. Zasadniczo można modelować tablicę danych do kodu HTML, a następnie przesłać je z powrotem do macierzy JSON do kontrolera. Jednym świetnym efektem ubocznym jest to, że pomaga kontrolerom bardziej przyjaznym jednostkom testowym (ponieważ kontrolery głównie zwracają JSON).
Jest to świetny film o nokaut w http://channel9.msdn.com/Events/MIX/MIX11/FRM08
Zasadniczo co chcesz patrzeć na to obserwowalne tablice. http://knockoutjs.com/documentation/observableArrays.html
Gorąco polecam również obejrzenie 20-minutowego wideo-prezentacji na stronie knockout.js. Mimo że jest to starszy film, który daje dobre pojęcie o jego działaniu, bardzo mi to pomogło. http://channel9.msdn.com/Events/MIX/MIX11/FRM08
Możesz również użyć AngularJS http://angularjs.org/, który jest tą samą koncepcją (MVVM), jest wystawiany przez google. Istnieje wiele różnic między tymi dwoma, ale najważniejsza (zauważyłem przynajmniej) jest kanciasta, bardziej polega na szablonach, pod wieloma względami daje mu więcej mocy.
Pomiędzy tymi dwoma, myślę, że nokaut jest łatwiejszy do uruchomienia, ale masz więcej opcji z AngularJS.
Myślę, że ludzie robią tego rodzaju rzeczy za pośrednictwem Ajax, jeśli to możliwe. Nie tylko jest to o wiele prostsze z punktu widzenia kodu, ale zapewnia także lepsze wrażenia użytkownika. –
@JonGalloway możesz link do jakiegoś przykładu? –
To nie jest tak źle, jeśli nie chcesz, aby lista była ponownie rozkładana. Możesz to zrobić całkowicie po stronie klienta, używając na przykład knockoutjs lub pójść na mieszankę podchodzącą przez ciągnięcie częściowego widoku przez ajax dla każdego nowego przedmiotu. –