value="dDwtMzQ3NzI5OTM4O3Q802w8MTwxPjs+ O2wbdDw7bDwxPDE+Oz47bDx0 PHA8cDxsPFR1eHQ7PjtsPEJ1dHRvbiBjbGlj a2VkITs+Pjs+Ozs+Oz4+Oz4+Oz6TChBE9Yvrgb7dL38o2VsGzc/RgA==" />
Button clicked
В этот раз значение VIEWSTATEсодержит больше информации, так как результат HTML опирается не только на используемый по умолчанию вывод страницы ASP NET. В сложных формах это может быть на самом деле очень длинная строка, но мы не должны выражать недовольства, так как очень много было сделано для нас "за сценой".
Палитра элементов управления
В этом разделе мы кратко рассмотрим доступные элементы управления, прежде чем соберем их вместе в большом и более интересном приложении. Этот раздел поделен на элементы управления сервера Web и элементы управления проверкой достоверности. Обратите внимание, что в описаниях элементов упрaвлeния ссылка идет на "свойства", во всех случаях соответствующий атрибут для использования в коде ASP.NET называется идентично. Здесь представлены только наиболее часто используемые свойства.
Элементы управления сервера Web
Все элементы управления сервера Web наследуются из класса System.Web.UI.WebControls.WebControl, который, в свою очередь, наследуется из класса System.Web.UI.Control. В связи с этим они обладают многими общими свойствами и событиями, которые при необходимости можно использовать. Их достаточно много, поэтому не все они будут здесь показано, также как и свойства, и события самих элементов управления сервера Web.
Многие из часто используемых унаследованных свойств имеют дело со стилем вывода изображения с помощью таких свойств, как ForeColor, Backcolor, Fontи т. д. Но можно прибегнуть также к помощи классов CSS (каскадных таблиц стилей), задавая для строкового свойства CssClassимя класса CSS в отдельном файле. Другими примечательными свойствами являются Widthи Heightдля размера элемента управления, AccessKeyи TabIndexдля облегчения взаимодействия пользователя, и Enabledдля определения того, что функциональность элемента управления обеспечивается в форме Web.
Из событий мы, наверно, чаще всего будем использовать унаследованное событие Eventдля выполнения инициализации элемента управления, и PreRenderдля выполнения последних модификаций перед тем, как HTML выведет элемент управления.
Существует множество других событий и свойств, многие из них мы обсудим более подробно позже, при рассмотрении специальных элементов управления. Список элементов управления сервера Web включает в себя:
| Элемент управления |
Описание |
Label |
Простой вывод текста, использует свойство Textдля задания и программного изменения изображаемого текста. |
TextBox |
Предоставляет текстовое окно, которое пользователи могут редактировать. Использует свойство Textдля доступа к введенным данным и событие TextChangedдля действия на изменениях при обратной отправке. Если требуется автоматическая обратная отправка (в противоположность использованию кнопки и т.д.), задайте свойство AutoPostBackкак true. |
DropDownList |
Позволяет пользователю выбрать один вариант из списка выбора либо непосредственно из списка, либо вводя первую букву или две. Использует свойство Itemsдля задания списка позиций (это класс ListItemCollection, содержащий объекты ListItem) и свойства SelectedItemи SelectedIndexдля определения того, что выбрано. Событие SelectedIndexChangedможет использоваться для выяснения, изменился ли выбор, и этот элемент управления имеет также свойство AutoPostBack, чтобы это изменение выбора включало операцию обратной пересылки. |
ListBox |
Позволяет пользователю выбрать один или несколько элементов из списка. Задайте SelectionModeкак Multipleили Single, чтобы определить, сколько элементов можно выбрать одновременно, и Rows, чтобы определить, сколько элементов показывать. Другие свойства и события такие же, как и у DropDownList. |
Image |
Выводит изображение. Используйте ImageUrlдля ссылки на изображение, и AlternateTextдля вывода текста, если изображение не может загрузиться. |
AdRotator |
Выводит несколько изображений по очереди с выводом различных изображений после каждого обращения к серверу. Используйте свойство AdvertisementFileдля определения файла XML, описывающего возможные изображения (подробности можно найти в MSDN) и событие ADCreatedдля выполнения обработки, прежде чем каждое изображение посылается назад. Можно также использовать свойство Targetдля указания открываемого окна, когда происходит щелчок мышью на изображении. |
CheckBox |
Выводит флажок, который может быть установлен или не установлен. Состояние хранится в логическом свойстве Checked, а текст, связанный с полем флажка — в свойстве Text. Свойство AutoPostBackможет использоваться для инициирования автоматической обратной отправки, а событие CheckedChanged —для действия при изменениях. |
CheckBoxList |
Создает группу полей флажков. Свойства и события идентичны другим элементам управления списков, таким как DropDownList. |
RadioButton |
Выводит кнопку, которая может быть включена или выключена. Обычно они группируются, так что только одна кнопка в группе может быть активной, используйте свойство GroupNameдля соединения элементов управления RadioButtonв группу. Другие свойства и события, как в элементе управления CheckBox. |
RadioButtonList |
Создает группу переключателей, где только одна кнопка в группе может быть выбрана в данный момент времени. Свойства и события — как в других элементах управления списками. |
Calendar |
Позволяет пользователю выбрать дату на графическом изображении календаря. Этот элемент управления имеет множество свойств, имеющих отношение к стилю, но основная функциональность может быть получена с помощью свойств SelectedDateи VisibleDate(типа System.DateTime), чтобы получить доступ к дате, выбранной пользователем и месяцу для вывода (который всегда будет содержать VisibleDate). Ключевым событием для привязки является SelectionChanged. Обратная отправка из этого элемента управления выполняется автоматически. |
Button |
Стандартная кнопка для нажатия пользователем. Использует свойство Textдля текста и событие Clickдля ответа на нажатие (обратная отправка на сервер выполняется автоматически). Может также использовать событие Commandдля ответа на последовательные нажатия, что дает при получении доступ к дополнительным свойствам CommandNameи CommandArgument. |
LinkButton |
Идентичен Button, но выводит кнопку как гиперссылку. |
ImageButton |
Выводит изображение, которое служит в качестве кнопки для нажатия. Свойства и события наследуются из Buttonи Image. |
HyperLink |
Гиперссылка HTML. Задает место назначения с помощью NavigateUrlи текст для вывода с помощью свойства Text. Может также использовать ImageUrlв качестве ссылки для определения изображения для вывода и Targetдля определения используемого окна браузера. Этот элемент управления не имеет нестандартных событий, поэтому используйте вместо него LinkButton, если потребовалась дополнительная обработка при следовании по ссылке. |
Table |
Определяет таблицу. Во время проектирования применяйте его в соединении с TableRowи TableCellили программным путем присваивайте строки с помощью свойства Rows, типа TableRowCollection. Это свойство можно также использовать для изменений во время выполнения. Этот элемент управления имеет несколько свойств для стилей, специфических для таблиц, таких же, как в TableRowи TableCell. |
TableRow |
Определяет строку внутри Table. Ключевым свойством является Cells, которое является классом TableCellCollection, содержащим объекты TableCell. |
TableCell |
Определяет отдельную ячейку внутри TableRow. Используйте свойство Textдля задания текста для вывода, Wrap— для определения, нужно ли сворачивать текст, и RowSpanи ColumnSpanдля определения, какую часть таблицы занимает ячейка. |
Panel |
Контейнер для других элементов управления. Можно использовать HorizontalAlignи Wrapдля определения того, как организуется содержимое. |
Repeater |
Используется для вывода данных из запроса данных, предоставляя большую гибкость с помощью шаблонов. Мы подробно рассмотрим этот элемент управления позже в этой главе. |
DataList |
Аналогичен элементу управления Repeater, но имеет больше гибкости, когда необходимо организовать и отформатировать данные. Может, например, автоматически вывести таблицу, которую можно будет редактировать. Его мы также будем рассматривать позднее. |
DataGrid |
Аналогичен Repeaterи DataListс несколькими дополнительными возможностями, такими, как сортировка. Подробнее будет рассмотрен позже. |
Элементы управления проверкой достоверности
Элементы управления проверкой достоверности предоставляют метод проверки достоверности ввода пользователя (в большинстве случаев) вообще без написания какого-либо кода. Когда инициируется обратная отправка, каждый элемент управления выполняет проверку, которую он подтверждает, и изменяет соответственно свое свойство isValid. Если это свойство будет false, то ввод пользователя для элемента проверки достоверности не получил подтверждение. Страница, содержащая все элементы управления, также имеет свойство isValid: если у какого-либо из элементов управления проверкой достоверности свойство isValidзадано как false, то это свойство страницы также будет иметь значение false. Это свойство можно проверять из серверного кода и действовать в соответствии с ним.
Читать дальше