Как я могу восстановить экземпляры динамических пользовательских элементов управления ASP.NET без использования базы данных?

В настоящее время я работаю с частью моего приложения, которая использует Dynamic Web User Controls, и яУ меня возникли проблемы с поиском лучшего способа создания экземпляров элементов управления при обратной передаче с использованием ViewState или другого метода, который не 'Мне не нужно запрашивать базу данных при каждой обратной передаче.

По сути, на моей странице есть пользовательский элемент управления, содержащий панель для хранения различного количества дочерних элементов управления и кнопку с надписью "Добавить элемент управления " чья функция довольно понятна.

Дочерний пользовательский элемент управления довольно прост; Это'Это просто кнопка удаления, выпадающий список и элемент управления выбора времени, расположенные в ряд. Всякий раз, когда пользователь нажимает кнопку Добавить элемент управления на родительском элементе управления, новыйстрока' добавляется на панель, содержащую дочерние элементы управления.

Я хотел бы иметь возможность добавлять и удалять элементы управления в эту коллекцию, изменять значения и выполнять любые необходимые мне операции ».в памяти' без необходимости делать какие-либо звонки в базу данных. Когда я закончу добавлять элементы управления и заполнять их значения, яхотел бы нажать "спасти" сохранить / обновить все данные из элементов управления в базе данных одновременно. В настоящее время единственное решение, которое я нашел, - просто сохранять данные в базе данных каждый пост обратно, а затем использовать строки, хранящиеся в БД, для повторного создания элементов управления постбэком. Очевидно, что это вынуждает пользователя сохранять изменения в БД против их воли, и в случае, если он хочет отменить работу с элементами управления без сохранения своих данных, необходимо выполнить дополнительную работу, чтобы гарантировать, что ранее зафиксированные строки были удалены.

Из того, что ямы узнали об использовании динамических элементов управления, я знаю этоЛучше всего добавлять элементы управления на страницу на этапе инициализации жизненного цикла, а затем заполнять их значения на этапе загрузки. Я'мы также узнали, что единственный способ убедиться, что вы можете сохранить контроль »s viewstate - убедиться, что вы присваиваете каждому динамическому элементу управления уникальный идентификатор и обязательно присваиваете ему точно такой же идентификатор при повторном создании элемента управления. Я'Мы также узнали, что ViewState нефактически загружается до окончания этапа Init в жизненном цикле. Вот где моя проблема. Как мне сохранить и получить имена этих элементов управления, если я не могу использовать состояние представления и не хочу выполнять какие-либо вызовы в базе данных? Возможна ли подобная манипуляция в памяти / пакетное сохранение значений даже с использованием ASP.net?

Любая помощь очень ценится,

Майк

Ответы на вопрос(3)

Ваш ответ на вопрос