Код упрощен, чтобы сделать его более понятным.Обновить данные сообщения в onClick в asp.net
Описание
Я пишу пользовательский элемент управления, который использует Controls.Add(), чтобы добавить все управления к югу он хочет.
Скажем, например, мой элемент управления называется «lots_of_text_boxes», и я добавляю минимальное количество текстовых полей и предоставляю кнопку (Controls.Add (кнопка)), которая гласит «добавить новое текстовое поле».
Управление делает красиво. Я нажимаю кнопку, OnLoad (EventArgs e) воссоздает вспомогательные элементы управления, а магия asp.net находит все мои опубликованные данные и заполняет текстовые поля, поэтому я могу их прочитать.
btnAddNew_Click (отправитель объекта, EventArgs e) вызывается для добавления нового текстового поля.
Сначала я попробовал Controls.Add (текстовое поле), но это помещает текстовое поле внизу под кнопкой добавления.
Я могу удалить кнопку, добавить текстовое поле и добавить кнопку, но я не хочу этого делать, потому что это не просто в реальном случае (много связанных кнопок и элементов управления переплетаются).
Что я хочу делать: Number_of_Textboxes_to_show ++; Controls.Clear(); OnLoad (новый EventArgs());
это стирает управление, чтобы начать заново и воссоздать его с помощью новых.
Проблема
потому что PostData была загружена страница перерисовывается, но все данные в полях было потеряно. Я действительно хочу функцию «LoadPostData()», которая проходит через все вспомогательные элементы управления и перезагружает их данные.
Имеет смысл, что данные сообщения все еще находятся в памяти (я надеюсь), и все элементы управления на проходе 2 имеют одинаковые идентификаторы, как на первом (и в предыдущей форме, который был отправлен).
Кто-нибудь видит что-нибудь подобное?
Проблема заключается в том, что я также удаляю эту кнопку текстового поля рядом с каждым текстовым полем, и я не хочу ничего писать в базу данных, пока пользователь не ударит, потому что я ожидаю, что многие люди откажутся от своего ввода. Я могу пройти через каждый элемент управления и пытаться обновлять его каждый раз, когда я удаляю или добавляю (и есть два типа удаления одного из них в базе данных, потому что я должен знать, чтобы удалить их при сохранении, а один для новых что никогда не спасает). Проблема в том, что мои кнопки удаления и кнопки добавления требуют повторной реализации некоторой логики, которую делает onload. Меня беспокоят ошибки. – Jeff