RadioButton
Переключатели не ходят в одиночку. Один переключатель на странице не имеет смысла. Нужны хотя бы два. Типичный набор переключателей определяется так:
<asp:RadioButton ID="RadioButton1" Runat="server" Text="Yes" GroupName="Set1" /> <asp:RadioButton ID="RadioButton2" Runat="server" Text="No" GroupName="Set1"/>
Атрибут Text выводится справа от переключателя. В этом примере важно, что у обоих переключателей совпадает свойство GroupName. Это позволяет им работать как одно целое. Преимущество отдельных переключателей над RadioButtonList в том, что между переключателями можно поместить любой текст, картинки и другие элементы.
У RadioButton есть событие CheckedChanged, которое вызывается, когда пользователь выбирает один из переключателей группы. Чтобы обработчик этого события вызывался, необходимо установить свойство AutoPostBack:
<%@ Page Language="C#" %> <script runat="server">
protected void option1_CheckedChanged(object sender, EventArgs e) { if(option1.Checked) Message.Text = "Вы выбрали " + option1.Text; if (option2.Checked) Message.Text = "Вы выбрали " + option2.Text; if (option3.Checked) Message.Text = "Вы выбрали " + option3.Text; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Шуточное голосование</title> </head> <body> <br /><br /> У кого самые мохнатые лапы в мире?<br /><br /> <form runat="server" id="voting">
<asp:RadioButton id="option1" runat="server" Text="медведя" OnCheckedChanged="option1_CheckedChanged" AutoPostBack = true GroupName="Choice" /><br /> <asp:RadioButton id="option2" runat="server" Text=" мохноногого тушканчика" OnCheckedChanged="option1_CheckedChanged" GroupName="Choice" AutoPostBack = true /> <br /> <asp:RadioButton id="option3" runat="server" Text="хоббитов" OnCheckedChanged="option1_CheckedChanged" AutoPostBack = true GroupName="Choice"/><br /> <br /><br /> </form> <asp:Label id="Message" runat="server" /> </body> </html>