ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Шрифт:
Чтобы получить значения этих динамически генерируемых типов TextBox, добавьте в пользовательский интерфейс еще один тип Button и тип Label. В пределах обработчика события Click для Button реализуйте цикл по всем элементам, содержащимся в рамках типа HttpRequest.NameValueCollection (доступного с помощью HttpRequest.Form), добавляя полученную текстовую информацию к локальному типу System.String. По завершении обработки коллекции назначьте эту строку свойству Text нового элемента Label с именем lblTextBoxText.
Запустив
Исходный код. Файлы примера 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-узла, демонстрирующего использование следующих возможностей.
• Работа с шаблонами страниц