Почему мой RadioButtonList выбрал значение пустым? - PullRequest
1 голос
/ 30 августа 2011

У меня есть RadioButtonList:

<asp:RadioButtonList ID="rblMedicationTime" runat="server"  onselectedindexchanged="rblMedicationTime_SelectedIndexChanged"  DataSourceID="dtsMedicationTime" DataTextField="LookupItem" DataValueField="Id"  AutoPostBack="true"></asp:RadioButtonList>

При загрузке страницы я хочу выбрать переключатель из списка и установить его значение, для которого я написал следующую строку кода:

rblMedicationTime.SelectedValue = clientMedicationSchedule.glTypeId.ToString();

RadioButtonList успешно заполняется, но значение не может быть выбрано.

rblMedicationTime.SelectedValue всегда "", когда я отлаживаю код.

Ответы [ 4 ]

4 голосов
/ 30 августа 2011

Вам просто нужно использовать

string myValue = myRadioButtonList.SelectedItem.Value

Объект свойства myRadioButtonList.SelectedItem содержит все значения из выбранного элемента списка переключателей или списка DropDown


для установки значения программно все, что вам нужно сделать, это:

myRadioButtonList.SelectedIndex = 0;

Вы можете видеть, что у вас есть несколько способов получить, но установить только один :

  • myRadioButtonList.SelectedIndex -> Получает или задает
  • myRadioButtonList.SelectedValue -> Получает
  • myRadioButtonList.SelectedItem -> Получает
2 голосов
/ 30 августа 2011

Вы не можете установить выбранную радиокнопку с помощью .SelectedValue, только с .SelectedIndex.

Проверка MSDN (в SelectedValue указано «Получает значение», в SelectedIndex - «Получается или устанавливается»)

1 голос
/ 30 августа 2011

думаю проблема в !IsPostBack.

if (!IsPostBack)
{
string str = rblMedicationTime.SelectedValue;
}

Сначала вы должны проверить! IspostBack

0 голосов
/ 30 августа 2011

Привет, друг, есть еще одна проблема в твоем коде, потому что с моей стороны все работает нормально.

rblMedicationTime.SelectedValue = clientMedicationSchedule.glTypeId.ToString ();

можно проверить, что clientMedicationSchedule.glTypeId.ToString () содержит это значение или нет. и при загрузке страницы вставьте код выбора в блок if (! IsPostBack) {}.

...