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
. Это свойство можно проверять из серверного кода и действовать в соответствии с ним.
Читать дальше