Я наткнулся на проблему, когда мне нужно убрать HTML-элементы управления. Я добавил клиентскую сторону, используя JavaScript после обратной передачи (из-за проверки на стороне сервера - это не является обязательным).
Пожалуйста, скажите мне, если я пытаюсь добиться этого, это cr * p, и есть лучший способ сделать это.
По сути, я делаю клонирование элемента управления текстовым полем до 10 раз на странице, когда пользователь нажимает кнопку «Добавить», и сохраняет введенные значения из каждого из этих текстовых полей в скрытом поле для чтения в коде позади. , Это работает нормально, однако, когда проверка на стороне сервера не проходит после обратной передачи, все эти динамически добавленные ( клонированные ) текстовые поля исчезают, так как ViewState ничего о них не знает.
Я рассматриваю 2 возможных решения, оба из которых кажутся hacky :
Перестроить все клонированные текстовые поля в onload () документа, используя сохраненные значения в скрытом поле
оберните форму в панели обновления ajax и поместите клонированные текстовые поля вне нее, таким образом, не обновляя эту часть экрана при обратной передаче
Теперь, можно ли как-то " обновить " ViewState, чтобы он знал обо всех HTML-элементах управления, которые я добавил, используя скрипт на стороне клиента? Есть идеи получше? Я хотел бы добиться этого с помощью сценария на стороне клиента, поэтому не рассматриваю клонирование текстовых полей на стороне сервера, извините.