Переключатели не сохраняют выбор, когда пользовательские элементы управления отправляются обратно - PullRequest
0 голосов
/ 02 декабря 2011

Я сталкиваюсь с некоторыми проблемами при частичной публикации страницы. У меня есть несколько радио кнопок, на основе которых я делаю tr display = "" и display = "none" с помощью javascript. После этого я добавляю строки gridview. Вид сетки содержит empltyTemplate и нижний колонтитул для добавления новых строк. Но когда я добавляю строку в виде сетки, пользовательский элемент управления отправляется обратно, и, следовательно, все tr становится displa = "none", что по умолчанию при загрузке страницы. Я пытался сохранить gridview в панели обновления, но он не работал. Иерархия моих элементов управления такая, как ниже.

Страница уровня 1-мастер ---> Страница уровня 2-мастер ---> Страница уровня 3-ASPX ---> Пользовательский контроль уровня 4 ---> Несколько аккордеонистов уровня 5 - > Уровень 6: 1 пользовательский элемент управления в каждом аккордеоне.

код слишком длинный, чтобы его здесь пропустить. Я пытался держать панель обновления внутри пользовательского элемента управления (уровень 6), но она не работала. После некоторого поиска в Google я обнаружил, что панель обновления не работает, если она находится внутри accrdian. Поэтому я попытался сохранить весь accrdian внутри панели обновлений, но в этом случае страница .aspx не была отправлена ​​обратно, но все пользовательские элементы управления, размещенные в accrodian, опубликованы, поэтому выбор установлен так, как будто он загружен по умолчанию.

Я хочу, чтобы весь выбор был сохранен, когда пользовательский элемент управления последнего уровня будет отправлен обратно.

Ситуация довольно сложна для понимания, но это то, что есть .. Как решить мою проблему?

1 Ответ

3 голосов
/ 02 декабря 2011

Изменения, внесенные в DOM из JavaScript, не сохраняются кросс-постбэк;сервер не знает, что вы сделали, и поэтому не может отследить его.

Чтобы решить эту проблему, вам нужно либо иметь состояние обновления кода JS на стороне сервера с помощью Callback или Ajax-вызова.- или, может быть, он обновит скрытое поле ввода в форме, которая отражает состояние ваших тегов, и заставит сервер просмотреть его и соответствующим образом обновить отображаемый HTML.

...