2008-09-12 3 views
0

У меня есть список переключателей на странице, которая используется для настройки продуктов. когда страница загружается при первом отображении первого списка параметров. вы выбираете один из них, затем нажмите кнопку «Следующий шаг», а страница заходит назад и показывает новый список переключателей для шага 2. Теперь, если я нажму кнопку «Предыдущий шаг», я могу легко получить предыдущий список параметров для отображения но я почему-то не могу выбрать один из переключателей. Я могу легко вернуть значение, которое мне нужно. сразу после создания списка переключателей у меня есть шаг, который просто говорит radioobuttonlist.selected = "somevalue" в зависимости от того, что пользователь выбрал, когда они завершили первый шаг в первый раз.Неисправность при выбранном значении радиообмена для обратной передачи vb.net

Когда я отлаживаю, я вижу, что это значение верно и применяется. но затем, когда отображается страница, радиокамера не выбрана.

Я заметил, что когда я нажимаю мою кнопку «Назад» при отладке на следующие шаги происходят .:

page.load пробегов обработчика и код внутри моего, если не page.ispostback блок не работает, что верно. , тогда ручки для кнопки, которую я только что нажал, запускаются. , но затем после этого обработчик page.load снова запускается, но на этот раз код в блоке if not page.ispostback работает ...

- это нормально? для блока page.onload для повторного запуска дважды? Я думаю, что это может иметь какое-то отношение к тому, почему моя ценность не применяется.

ответ

1

Похоже, что вы вызываете перенаправление. Вы не случайно делаете Response.Redirect, чтобы «вернуться» на исходную страницу? Это вызовет описанную вами функциональность. Сначала вы получите сообщение «Возврат из предыдущей», чтобы покинуть страницу, а затем вы получите новый запрос (IsPostback = false) при перезагрузке страницы.

0

У меня есть response.redirect, который я использовал, но я удалил его. Полагаю, я могу сделать тщательную проверку, чтобы убедиться, что у меня не было никого другого. Я также попробую свойство autoeventwireup.

0

хорошо, похоже, что свойство autoevenwriteup уже установлено в false до того, как я даже начал. поэтому я не думаю, что это было так.

Я не видел никаких других переадресаций, происходящих где угодно ... Я предполагаю, что поиск продолжается.

0

Вы пытались установить выбранное значение во время фазы предварительной визуализации страницы вместо Page_Load?

0

Попробуйте сделать это

yourRadioButonList.Items.FindByValue(YourSavedValue).Selected = true; 
0

Я была такая же проблема, как и то, что упомянутый Thunder3, я сделал редирект обратно на страницу, и вызов метода Page_Load, чтобы установить RadioButtonList выбранного значения. Но выбранное значение не было применено к RadioButtonList.

Я решил проблему, вызывая метод на Page_Init вместо этого.

0

Одна из вероятных причин и одна из тех, с которыми я столкнулся в последнее время, связаны с тем, что радиообъектив различает элементы на основе значения, а не идентификатора, поэтому, если существуют повторяющиеся значения, эта проблема будет наблюдаться.

Ниже ссылка предоставит подробное объяснение.

RadioButtonList selected item does not stick on postback