Важной особенностью ASP.NET является использование серверных элементов управления на веб-странице (элементы WebForm ), которые являются фактически тэгами, понятными веб-серверу. Эти элементы определены в пространстве имен System.Web.UI.WebControls.
Принято выделять три типа серверных элементов управления:
| Преимущества от использования таких элементов при разработке веб-приложений: |
![]() |
По умолчанию такие элементы управления в ASP.NET файлах рассматриваются как текст. Для их программирования требуется добавление атрибута runat="server" в соответствующий HTML элемент. Кроме того, все серверные <form>, также имеющего атрибут runat="server".
| Серверный элемент управления HTML | Описание |
|---|---|
HtmlAnchor |
Управление HTML элементом <a> |
HtmlButton |
Управление HTML элементом <button> |
HtmlForm |
Управление HTML элементом <form> |
HtmlGeneric |
Управляет HTML элементами не описываемыми как элементы управления HTML , например, <body>, <div>, <span> и др. |
HtmlImage |
Управление HTML элементом <image> |
HtmlInputButton |
Управление HTML элементами <input type="button">, <input type="submit"> и <input type="reset"> |
HtmlInputCheckBox |
Управление HTML элементом <input type="checkbox"> |
HtmlInputFile |
Управление HTML элементом <input type="file"> |
HtmlInputHidden |
Управление HTML элементом <input type="hidden"> |
HtmlInputImage |
Управление HTML элементом <input type="image"> |
HtmlInputRadioButton |
Управление HTML элементом <input type="radio"> |
HtmlInputText |
Управление HTML элементами <input type="text"> и <input type="password"> |
HtmlSelect |
Управление HTML элементом <select> |
HtmlTable |
Управление HTML элементом <table> |
HtmlTableCell |
Управление HTML элементами <td> и <th> |
HtmlTableRow |
Управление HTML элементом <tr> |
HtmlTextArea |
Управление HTML элементом <textarea> |
Подобно серверным
Общий синтаксис для описания таких элементов:
<asp:тип_элемента id="идентификатор" runat="server"/>
Перечень доступных элементов такого типа приведен в таблице.
| Элемент управления веб-сервера | Описание |
|---|---|
|
Банерная рулетка |
Button |
Отображение кнопки |
Calendar |
Отображение календаря |
CalendarDay |
Элемент выбора дня календаря |
CheckBox |
Отображение флажка |
CheckBoxList |
Группа флажков |
DataGrid |
Отображение полей источника данных |
|
Отображение элементов из источника данных с помощью шаблонов |
DropDownList |
Выпадающий список |
HyperLink |
Гиперссылка |
Image |
Изображение |
|
Кнопка в виде изображения |
Label |
Отображение статического содержимого, доступного для программирования, и с возможностью задания стиля |
LinkButton |
Кнопка с гиперссылкой |
ListBox |
Выпадающий список с единичным или множественным выделением |
ListItem |
Элемент списка |
Literal |
Отображение статического содержимого, доступного для программирования, но без возможности задания стиля |
Panel |
Контейнер для других элементов управления |
PlaceHolder |
Место для добавления элементов управления программным способом |
RadioButton |
Радио-кнопка |
RadioButtonList |
Группа радио-кнопок |
BulletedList |
Маркерный список |
Repeater |
Повторяемый список элементов |
Style |
Задание стиля элемента управления |
Table |
Таблица |
TableCell |
Ячейка таблицы |
TableRow |
Строка таблицы |
TextBox |
Поле для ввода текста |
Xml |
Отображение XML файла или результата |
Элементы управления данного типа применяются для проверки вводимых данных.
Имеют следующий синтаксис:
<asp:тип_элемента id="идентификатор" runat="server" />
Наиболее важные элементы приводятся в следующей таблице.
| Элемент управления для проверки данных | Описание |
|---|---|
CompareValidator |
Сравнивает значение, введенное в один элемент управления со значением, введенным в другой элемент, либо с фиксированным значением |
CustomValidator |
Позволяет задавать пользовательский метод проверки вводимых значений |
RangeValidator |
Проверяет, что значение, введенное пользователем, находится между двумя величинами |
RegularExpressionValidator |
Проверяет введенное значение на соответствие указанному шаблону |
RequiredFieldValidator |
Проверяет обязательное наличие введенного значения |
ValidationSummary |
Отображает отчет обо всех ошибках проверки значений, произошедших на веб-странице |
Для работы с примерами, приводимыми в данной лабораторной работе, потребуется установка среды разработки Microsoft Visual Studio 2005+ и веб-сервера IIS 5+ (Internet Information Server).
1.Серверные элементы управления HTML.
Код формы должен выглядеть следующим образом:
<form id="form1" runat="server"> <div> Ваша оценка:<br><br> <input id="r1" type="radio" title="Отлично" value="Отлично" runat="server"/>Отлично<br /> <input id="r2" type="radio" value="Хорошо" runat="server" />Хорошо<br /> <input id="r3" type="radio" value="Удовлетворительно" runat="server" />Удовлетворительно<br /> <input id="r4" type="radio" value="Неудовлетворительно" runat="server" />Неудовлетворительно<br /> <p id="ans" runat="server"></p> <br> <input id="Submit1" type="submit" value="Отправить" OnServerClick="submit" runat="server" /><br /> </div> </form>
Обработчик события OnServerClick необходимо описать в файле Default.aspx.cs. Код метода submit:
protected void submit(object sender, System.EventArgs e)
{
if (r1.Checked == true)
ans.InnerHtml = "Вы оценили на отлично";
else if (r2.Checked == true)
ans.InnerHtml = "Вы оценили на хорошо";
else if (r3.Checked == true)
ans.InnerHtml = "Вы оценили на удовлетворительно";
else if (r4.Checked == true)
ans.InnerHtml = "Вы оценили на неудовлетворительно";
else
ans.InnerHtml = "Вы не выбрали оценку";
}
2.Элементы управления веб-сервера.
Если для вновь созданного проекта типа ASP.NET Web Application в файле Default.aspx внутри формы (между тэгами <form> и </form> ) вставить следующий код (или сделать это перетаскиванием нужных элементов из панели инструментов, раздел "Standard" ):
<asp:ListBox id="LstBx" runat="server" width="100" height="80" AutoPostBack="True" OnSelectedIndexChanged="LBSelChanged" > <asp:ListItem value="Sunday">Sunday</asp:ListItem> <asp:ListItem value="Monday">Monday</asp:ListItem> <asp:ListItem value="Tuesday">Tuesday</asp:ListItem> <asp:ListItem value="Wednesday">Wednesday</asp:ListItem> <asp:ListItem value="Thursday">Thursday</asp:ListItem> <asp:ListItem value="Friday">Friday</asp:ListItem> <asp:ListItem value="Saturday">Saturday</asp:ListItem> </asp:ListBox> <br/><br/> <asp:Label id="Label1" runat="server"/>
и описать обработку событий Page_Load и OnSelectedIndexChanged в соответствующем *.aspx.cs файле:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "You selected: " + Label1.Text;
}
protected void LBSelChanged(object sender, System.EventArgs e)
{
if (LstBx.SelectedItem != null)
Label1.Text = "You selected: " + LstBx.SelectedItem.Value;
else
Label1.Text = "You selected: ";
}
}
то при запуске проекта после выбора пользователем элемента из списка можно будет увидеть в окне браузера:

В данном примере атрибут AutoPostBack="True" указывает на необходимость немедленной обработки события на сервере.
3.Серверные элементы управления для проверки данных (валидации)
Следующий код показывает, каким образом выполняется проверка содержимого поля вода формы:
<form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server" Width="123px"></asp:TextBox> <br /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Not valid e-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" > </asp:RegularExpressionValidator> </form>
В данном случае атрибут ControlToValidate указывает на то, что контролируется содержимое элемента с идентификатором TextBox1 (поля ввода текста), в случае несоответствия содержимого контролируемого поля с шаблоном, описанном в виде регулярного выражения в атрибуте ValidationExpression, выдается сообщение, указанное в атрибуте ErrorMessage.
Шаблон описывает допустимый формат адреса электронной почты. Добавьте код в проект и проверьте работу приложения.
Создайте веб-приложение ASP.NET, поддерживающее ввод на странице международного телефонного номера пользователем и использующее серверный элемент управления <asp:RegularExpressionValidator>.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.