Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

protectеd void triggerButton_Click(object sender, System EventArgs e) {

}

Он соединяется с кнопкой с помощью кода, добавляемого в

InitializeComponent
:

private void InitilizeComponent

 this.triggerButton.Click += new System.EventHandler(this.triggerButton_Click);

 this.Load += new System.EventHandler(this.Page_Load);

}

Изменим код в

triggerButton_Click
следующим образом:

protected void triggerButtor_Click(object sender, System.EventArgs e) {

 resultLabel.Text = "Button clicked:";

}

Теперь мы готовы к запуску приложения. Строим приложение в VS обычным образом, все файлы будут откомпилированы и/или помещены на сервер Web готовыми к использованию. Чтобы протестировать приложение Web, можно либо запустить приложение (что предоставит весь набор средств отладки VS), либо просто направить браузер на адрес

http://localhost/PCSWebAppl/webForm1.aspx
. В любом случае можно будет увидеть кнопку Click Me на странице Web. До нажатия кнопки посмотрим на код, полученный браузером, с помощью View|Source (в IE). Раздел
<form>
должен выглядеть примерно следующим образом:

<form name="ctrl1" method="post" action="webform1.aspx" id="ctrl1">

 <input type="hidden" name="_VIEWSTATE"

value="dDwtMzQ3NzI5OTM4Ozs+0RD39htoKLKMO7Yf41cFXM2GjQU=" />

 <span id="resultLabel"></span>

 <br>

 <input type= "submit" name="triggerButton" value="Click Me" id="triggerButton" />

</form>

Элементы управления сервера Web сгенерировали правильный код HTML —

<span>
и
<input>
для
<asp:Label>
и
<asp:Button>
, соответственно. Также существует поле
<input type="hidden">
с именем
_VIEWSTATE
. Оно инкапсулирует состояние формы, как это упоминалось ранее. Эта информация используется, когда форма посылается назад на сервер для воссоздания UI, отслеживания изменений и т.д. Отметим, что для этого был сконфигурирован элемент
<form>
, он будет отправлять данные назад в
WebForm1.aspx
(определенное в
action
) с помощью операции HTTP POST (определенной в
method
). Ему было также присвоено имя
ctrl1
. Если посмотреть на HTML, сгенерированный более сложными формами Web, то можно увидеть, что это обычный тип присваивания и он соответствует способу, которым работает ASP.NET.

После нажатия на кнопку и появления текста проверьте снова исходный код HTML (пробелы добавлены для ясности)

<form name="ctrl1" method="post" асtion="WebForm1.aspx" id="ctrl1">

 <input type="hidden" name="_VIEWSTATE"

value="dDwtMzQ3NzI5OTM4O3Q802w8MTwxPjs+ O2wbdDw7bDwxPDE+Oz47bDx0 PHA8cDxsPFR1eHQ7PjtsPEJ1dHRvbiBjbGlj a2VkITs+Pjs+Ozs+Oz4+Oz4+Oz6TChBE9Yvrgb7dL38o2VsGzc/RgA==" />

 <span id="resultLabel">Button clicked</span>

 <br>

 <input type="submit" name="triggerButton" value="Click Me" id="triggerButton" />

</form>

В этот раз значение

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
с несколькими дополнительными возможностями, такими, как сортировка. Подробнее будет рассмотрен позже.
  • Читать дальше
  • 1
  • ...
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: