Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Техн. разр. Internet-приложений 1-9 / Лабораторная работа 1.doc
Скачиваний:
36
Добавлен:
29.03.2016
Размер:
174.59 Кб
Скачать

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>

RadioButtonList

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

<asp:RadioButtonList id="radSample" runat="server">

<asp:ListItem id="option1" runat="server" value="Option A" />

<asp:ListItem id="option2" runat="server" value="Option B" />

<asp:ListItem id="option3" runat="server" value="Option C" />

</asp:RadioButtonList>

Свойство radSample.SelectedItem.Value показывает выбранный элемент.

На форуме RSDN каждый участник может открыть голосование по интересующему его вопросу. Вот одно из этих голосований:

<%@ Page Language="C#" %>

<script runat="server">

void Page_Load()

{

if (Page.IsPostBack)

{

if( radVoting.SelectedItem==null)

Message.Text = "Надо выбрать вариант";

else

{

Message.Text = "Спасибо за участие. Вы выбрали: " +

radVoting.SelectedItem.Value;

voting.Visible=false;

}

}

}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>

<title> Что вы думаете о сайте intuit.ru? </title>

</head>

<body>

<br /><br /> <asp:label runat="server" ID="Question" Font-

Bold="True" Font-Size="Large" ForeColor="#0000C0">Что вы думаете

об онлайн-университете intuit.ru? </asp:label>

<br /><br />

<form runat="server" id="voting">

<asp:RadioButtonList id="radVoting" runat="server" >

<asp:ListItem value="Хороший сайт, учился там" />

<asp:ListItem value="Есть интересные курсы, причем в открытом

доступе" />

<asp:ListItem value="Не бывал(а), пойду посмотрю" />

<asp:ListItem value="Посмотрел(а), записался на курсы" />

</asp:RadioButtonList>

<input type="Submit" value="Проголосовать!" >

<br /><br />

</form>

<asp:Label id="Message" runat="server" />

</body>

</html>