2013-11-10 2 views
0

У меня есть простое приложение для окон, которое я должен выполнить для перехода на веб-страницу, поэтому я пытаюсь использовать aspx (C#).Как принудительно включить/отключить элементы управления в aspx?

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

protected void RadioButton1_CheckedChanged(object sender, EventArgs e) 
    { 
     if (RadioButton1.Checked == true) 
     { 
      RadioButton2.Checked = false; 
     } 
    } 
protected void RadioButton2_CheckedChanged(object sender, EventArgs e) 
    { 
     if (RadioButton2.Checked == true) 
     { 
      RadioButton1.Checked = false; 
     } 
    } 

Так почему эти изменения не применяются на этой странице?

ответ

1

вы можете использовать GroupName собственностью RadioButton Control.

Если вы установили одинаковые GroupName для набора RadioButtons, вам не нужно писать код Behid, который вы написали в вышеуказанном сообщении/вопросе, так как из группы может быть выбран только один переключатель.

, но если вы хотите вызвать какое-либо действие, например Отключение TextBox на отдельном событии с нажатием кнопки Radio, вы можете использовать следующий пример кода.

Пример: в этом примере Я принимаю 3 радио кнопки все готово к такому же GroupName, следовательно, только один RadioButton canbe выбран в то время.

Когда пользователь выбирает/проверяет RadioButton1, я отключу TextBox1.

Примечание: Пожалуйста, убедитесь, что ваш RadioButtonAutoPostBack недвижимости установлена ​​True иначе события RadioButton не будут уволены.

Design Код:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <asp:RadioButton ID="RadioButton1" runat="server" Text="DisableTextBox" GroupName="Group1" AutoPostBack="True" OnCheckedChanged="RadioButton1_CheckedChanged"/> 
    <asp:RadioButton ID="RadioButton2" runat="server" GroupName="Group1" AutoPostBack="True"/> 
    <asp:RadioButton ID="RadioButton3" runat="server" GroupName="Group1" AutoPostBack="True" /> 

Код За:

protected void RadioButton1_CheckedChanged(object sender, EventArgs e) 
     { 
      if (RadioButton1.Checked) 
       TextBox3.Enabled = false; 
      else 
       TextBox3.Enabled = true; 
     } 
+0

Снова ... Да, это решение для этой самой проблемы, но в будущем я должен знать, как заставить изменения, внесенные в код позади любого из элементов управления. Так, например, Я хочу отключить текстовое поле на событии выбора радиообмена. Как это сделать? – fishmong3r

+0

вы можете видеть, что в моем примере, когда вы выбираете radioobutton1, он отключит Textbox1. –

0

Вы можете установить GroupName обоих радиообъективов одинаково, поэтому код, который вам больше не нужен, больше не нужен.

Кроме того, проверьте RadioButtonList

UPDATE

Ваш ASPX-код должен выглядеть примерно так:

<asp:RadioButton id="RadioButtonEnabled" runat="server" Text="Enabled" GroupName="GroupTxtEnabled" AutoPostBack="True" OnCheckedChanged="RadioButtonEnabled_CheckedChanged"/> 
<asp:RadioButton id="RadioButtonDisabled" runat="server" Text="Disabled" GroupName="GroupTxtEnabled" AutoPostBack="True"/> 

<asp:TextBox id="TextBox1" runat="server"/> 

И в коде-за:

protected void RadioButtonEnabled_CheckedChanged (object sender, EventArgs e) 
{ 
    TextBox1 = RadioButtonEnabled.Checked 
} 

Как вы можете видеть, Я использовал OnCheckedChanged только на одном радиобъективе, так как оба радиообмена меняются одновременно (свойство GroupName равно).

+0

Да, это решение по этой проблеме, но в будущем я должен знать, как заставить изменения, которые я делаю в коде на любом из элементов управления. Так, например,Я хочу отключить текстовое поле на событии выбора радиообмена. Как это сделать? – fishmong3r

+0

Вы уверены, что ваше событие правильно подключено на вашей ASPX-странице? – Koen

+0

Что именно вы имеете в виду? – fishmong3r

Смежные вопросы