Чтение онлайн

на главную - закладки

Жанры

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

Чтобы получить значения этих динамически генерируемых типов TextBox, добавьте в пользовательский интерфейс еще один тип Button и тип Label. В пределах обработчика события Click для Button реализуйте цикл по всем элементам, содержащимся в рамках типа HttpRequest.NameValueCollection (доступного с помощью HttpRequest.Form), добавляя полученную текстовую информацию к локальному типу System.String. По завершении обработки коллекции назначьте эту строку свойству Text нового элемента Label с именем lblTextBoxText.

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

 string textBoxValues = "";

 for(int i = 0; i ‹ Request.Form.Count; i++) {

textBoxValues += string.Format("‹li›{0}‹/li›‹br›", Request.Form[i]);

 }

 lblTextBoxText.Text = textBoxValues;

}

Запустив

приложение, вы сможете увидеть как содержимое текстовых блоков, так и довольно длинные ("нечитаемые") строки. Такие строки отражают визуальное состояние элементов на странице и будут рассматриваться позже, в следующей главе. Также вы заметите, что после обработки запроса новые текстовые окна исчезают. Причина опять кроется в природе HTTP – этот протокол не обеспечивает сохранения состояния. Чтобы динамически созданные типы TextBox сохранялись после вторичных запросов, вы должны сохранить состояния этих объектов, используя соответствующие приемы программирования ASP.NET (эти вопросы также рассматриваются в следующей главе).

Исходный код. Файлы примера DynamicCtrls размещены в подкаталоге, соответствующем главе 23.

Основные члены типа System.Web.Ul.WebControls.WebControl

Можно сказать, что тип Control предлагает возможности поведения, не относящиеся к графическому интерфейсу. С другой стороны, базовый класс WebControl обеспечивает полиморфный графический интерфейс для всех Web-элементов поведения, как показано в табл. 23.10.

Таблица 23.10. Свойства базового класса WebControl

Свойства Описание
BackColor Читает или устанавливает цвет фона Web-элемента управления
BorderColor Читает или устанавливает цвет границы Web-элемента управления
BorderStyle Читает или устанавливает стиль границы Web-элемента управления
BorderWidth Читает или устанавливает ширину границы Web-элемента управления
Enabled Читает или устанавливает значение, являющееся индикатором доступности Web-элемента управления
СssСlass Позволяет назначить Web-элементу управления класс, определенный в рамках CSS (Cascading Style Sheet – каскадная таблица стилей)
Font Читает информацию о шрифте для Web-элемента управлений
ForeColor Читает или устанавливает цвет изображения (обычно цвет текста) для Web-элемента управления
Height Width Читает или устанавливает высоту и ширину Web-элемента управления
TabIndex Читает или устанавливает индекс перехода по табуляции для Web-элемента управления
ToolTip Читает или устанавливает значение-индикатор, указывающее необходимость отображения подсказки при задержке указателя мыши на изображении Web-элемента управления 

Скорее всего, эти свойства будут для вас понятны, так что вместо примеров их использования давайте немного сместим акценты и проверим в действии ряд элементов управления Web-формы ASP.NET.

Категории Web-элементов управления ASP.NET

Типы в System.Web.UI.WebControls можно разбить

на несколько больших категорий.

Простые элементы управления

Элементы управления с расширенными возможностями

• Элементы управления для работы с источниками данных

• Элементы управления для контроля ввода

• Элементы управления для входа в систему

Простые элементы управления называются так потому, что они являются Web-элементами управления ASP.NET, отображающимися в стандартные HTML-элементы (кнопки, списки, гиперссылки, контейнеры изображений, таблицы и т.д.). Далее мы имеем небольшое множество так называемых элементов управления с расширенными возможностями, для которых нет прямого эквивалента среди HTML-элементов (это, например, Calendar, TreeView, wizard и т.д.). Элементы управления для работы с источниками данных являются элементами, для заполнения которых обычно требуется соединение с источником данных. Лучшим (и наиболее интересным) примером такого элемента управления ASP.NET является, наверное, GridView. Другими членами этой категории являются так называемый "ротатор" и элемент управления DataList. Элементы управления для контроля ввода являются серверными элементами управления, автоматически генерирующими JavaScript-код клиента для проверки вводимых в форму данных. Наконец, библиотеки базовых классов ASP.NET 2.0 предлагают целый ряд элементов управления, связанных с решением проблем безопасности, Эти элементы интерфейса инкапсулируют все особенности регистрации доступа к узлу, предлагая, в частности, сервис ввода и получения пароля и поддержку ролей пользователей.

Замечание. Поскольку в этой книге не предлагается обсуждение системы безопасности .NET, здесь не будут обсуждаться и соответствующие новые элементы управления. Если вам потребуется подробная информация по проблемам безопасности ASP.NET 2.0, обратитесь к книге Dominic Selly, Andrew Troelsen and Tom Barnaby, Expert ASP.NET 2.0 Advanced Application Design (Apress, 2006).

Несколько слов о System.Web.UI.HtmlControls

Вообще говоря, есть два разных набора Web-элементов управления, предлагаемых в рамках дистрибутива .NET 2.0. В дополнение к Web-элементам управления ASP.NET (из пространства имен System.Web.UI.WebControls), библиотеки базовых классов предлагают также элементы System.Web.UI.HtmlControls.

HTML-элементы управления представляют собой коллекцию типов, позволяющих использовать традиционные элементы управления HTML на странице Web-формы. Однако, в отличие от стандартных HTML-дескрипторов, HTML-элементы управления являются сущностями ООП, которые могут быть настроены для выполнения на сервере и поэтому поддерживают серверную обработку событий. В отличие от Web-элементов управления ASP.NET, HTML-элементы управления по своей природе очень просты и имеют не слишком широкие возможности, аналогичные стандартным дескрипторам HTML (HtmlButton, HtmlInputControl, HtmlTable и т.д.).

HTML-элементы управления предлагают открытый интерфейс, "имитирующий" стандартные HTML-атрибуты. Например, чтобы получить информацию из области ввода, вы должны использовать свойство Value, а не свойство Text, как в случае Web-элементов. Поскольку HTML-элементы управления обладают не такими богатыми возможностями, как Web-элементы управления ASP.NET, далее в этой книге HTML-элементы управления упоминаться не будут. Если вы захотите изучить эти типы, обратитесь к документации .NET Framework 2.0 SDK.

Создание простого Web-узла ASP.NET 2.0

Ограниченный объем книги не позволяет здесь описать особенности всех Web-элементов управления, входящих в доставку ASP.NET 2.0 (для этого требуется отдельная и довольно объемная книга). Но чтобы проиллюстрировать работу с paзличными Webэлементами управления ASP.NET, следующим нашим заданием в этой главе будет создание Web-узла, демонстрирующего использование следующих возможностей.

• Работа с шаблонами страниц

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

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Кодекс Охотника. Книга XIV

Винокуров Юрий
14. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIV

Штуцер и тесак

Дроздов Анатолий Федорович
1. Штуцер и тесак
Фантастика:
боевая фантастика
альтернативная история
8.78
рейтинг книги
Штуцер и тесак

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Болотник

Панченко Андрей Алексеевич
1. Болотник
Фантастика:
попаданцы
альтернативная история
6.50
рейтинг книги
Болотник

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Жестокая свадьба

Тоцка Тала
Любовные романы:
современные любовные романы
4.87
рейтинг книги
Жестокая свадьба

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

Голодные игры

Коллинз Сьюзен
1. Голодные игры
Фантастика:
социально-философская фантастика
боевая фантастика
9.48
рейтинг книги
Голодные игры

Последняя Арена 8

Греков Сергей
8. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Последняя Арена 8

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Последний Паладин

Саваровский Роман
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин

Измена. Свадьба дракона

Белова Екатерина
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Измена. Свадьба дракона