Прежде всего, пытаясь использовать <input type="text" style="display:none"/>
, вы заново изобретаете колесо. Вместо этого используйте <input type='hidden' />
.
Проблема слишком больших страниц не в ASP.NET AJAX (но мне все равно это не нравится), а в абстракции веб-форм ASP.NET. Часто viewstate становится слишком большим (60-70% веса страницы и более), и это действительно плохо. Также, когда у вас есть только одна форма с большим количеством элементов управления для редактирования, все значения входов (html-входы, в asp.net - текстовые поля, флажки и т. Д.) Будут отправляться обратно на сервер при каждой обратной передаче. На мой взгляд, это плохо, очень плохо. Решение не в том, чтобы использовать веб-формы. Вы можете попробовать ASP.NET MVC. Используя его, вы легко можете контролировать все, что вам нужно, и нет головной боли с состояниями просмотра, состояниями управления, жизненным циклом страницы и управления, глупыми идентификаторами ctl0 $ ctlSomeValue $ ctlAnotherParam $ MyCoolTextBox (это будет изменено в ASP.NET 4). Я сделал свой выбор - больше нет веб-форм, привет, mvc!
О вашей ситуации. Вы можете создать веб-сервис (некоторый RESTful или что-то в этом роде), который предоставит все методы для добавления / редактирования / перемещения / удаления элементов. И создайте страницу, которая будет использовать этот сервис для добавления / создания / перемещения / удаления элементов. Это требует хорошего знания JS или, по крайней мере, большого желания изучать его. Я предпочитаю такой подход, на странице будут только небольшие запросы на выполнение некоторых действий, поэтому пользователь будет счастлив. И информация на странице и состояние страницы не будут нарушены - все запросы к сервису будут через AJAX.
Другое решение состоит в том, чтобы управлять всеми этими состояниями вручную - в скрытых полях, переменных запроса и так далее. Это очень сложный и сложный подход для ASP.NET WebForms. И это займет много времени.
Поэтому я советую перейти на MVC или создать интерфейс пользователя для службы.
И еще один камень в сторону ASP.NET WebForms - http://blog.stevehorn.cc/2009/05/aspnet-webforms-and-mvc.html