Проблема с выбранным значением radiobuttonlist на postback vb.net - PullRequest
0 голосов
/ 13 сентября 2008

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

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

Я заметил, что когда я нажимаю кнопку «Предыдущий» во время отладки, выполняются следующие шаги.

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

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

Ответы [ 8 ]

1 голос
/ 13 сентября 2008

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

0 голосов
/ 06 февраля 2011

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

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

Выбранный элемент RadioButtonList не прикрепляется при обратной передаче

0 голосов
/ 02 декабря 2009

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

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

0 голосов
/ 05 января 2009

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

yourRadioButonList.Items.FindByValue(YourSavedValue).Selected = true;
0 голосов
/ 13 сентября 2008

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

0 голосов
/ 13 сентября 2008

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

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

0 голосов
/ 13 сентября 2008

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

0 голосов
/ 13 сентября 2008

Попробуйте установить AutoEventWireup = False на странице.

...