Список вложенных элементов управления

Список вложенных элементов управления

Первой из рассматриваемых здесь Особенностей System.Web.UI.Control является то, что все Web-элементы управления (это также относится и к Page) наследуют коллекцию пользовательских элементов управления (доступную с помощью свойства Controls). Во многом аналогично случаю приложений Windows Forms, в данном случае свойство Controls обеспечивает доступ к строго типизованной коллекции объектов WebControl. Подобно любой коллекции .NET, вы имеете возможность динамически добавлять и удалять элементы этой коллекции в среде выполнения.

Хотя добавлять Web-элементы управления в Page-тип можно и непосредственно, намного проще (и безопаснее) использовать для этого элемент управления Panel. Класс System.Web.UI.WebControls.Panel представляет контейнер элементов управления, который может быть видимым или невидимым для конечного пользователя (в зависимости от значений свойств Visible и BorderStyle).

Для примера создайте новый Web-узел с названием DynamicCtrls. В окне проектирования Web-страницы Visual Studio 2005 добавьте тип Panel (назначив ему имя myPanel), содержащий элементы TextBox, Button и HyperLink с произвольными именами (учтите, что режим проектирования требует, чтобы при перетаскивании внутренние элементы помещались в зону интерфейса типа Panel). В результате элемент ‹form› вашего файла *.aspx должен принять следующий вид.

asp:Panel ID="myPanel" runat="server" Height="50px" Width="125px"›

 asp:TextBox ID="TextBox1" runat="server"›‹/asp:TextBox›‹br /›

 asp:Button ID="Button1" runat="server" Text="Кнопка" /›‹br /›

 ‹asp:HyperLink ID="HyperLink1" runat="server"›Гиперссылка‹/asp:HyperLink›

‹/asp:Panel

Затем разместите элемент Label (с названием lblControlInfo) вне контекста Panel, чтобы отображать соответствующий вывод. Учтите в Page_Load() то, что мы хотим получить список всех элементов управления, содержащихся в Panel, и присвоить полученные результаты типу Label.

public partial class _Default: System.Web.UI.Page {

 protected void Page_Load(object sender, EventArgs e) {

  ListControlsInPanel();

 }

 private void ListControlsInPanel() {

  string theInfo;

  theInfo = String.Format("Присутствие элементов: {0}‹br›", myPanel.HasControls());

  foreach (Control с in myPanel.Controls) {

   if (c.GetType() != typeof(System.Web.UI.LiteralControl)) {

    theInfo += "***************************‹br›";

    theInfo += String.Format("Name = {0}‹br›", с.ToString());

    theInfo += String.Format("ID = {0}‹br›", c.ID);

    theInfo += String.Format("Visible = {0}‹br›", c.Visible);

    theInfo += String.Format("ViewState = {0}‹br›", c.EnableViewState);

   }

  }

  lblControlInfo.Text = theInfo;

 }

}

Здесь выполняется цикл по всем типам WebControl, поддерживаемым в Panel, и осуществляется проверка того, что текущий тип не является типом System.Web.UI.LiteralControl. Этот тип используется для представления буквальных HTML-дескрипторов и содержимого (например, ‹br›, текстовых литералов и т.д.). Если вы не выполните такой проверки, вы с удивлением можете обнаружить в контексте Panel целых семь типов (для указанного выше определения *.aspx). В предположений о том, что тип не является буквальным HTML-содержимым, выводится определенная статистическая информация, Пример такого вывода показан на рис. 23.20.

Рис. 23.20. Перечень вложенных элементов

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Природа Web-элементов управления

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

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


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

Из книги Создание электронных книг в формате FictionBook 2.1: практическое руководство [Release 1.01 от 28.II.2010 г.] автора Кондратович Михаил Иосифович

Категории Web-элементов управления ASP.NET Типы в System.Web.UI.WebControls можно разбить на несколько больших категорий.• Простые элементы управления• Элементы управления с расширенными возможностями• Элементы управления для работы с источниками данных• Элементы управления для


§ 2.14 Список атрибутов элементов

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

§ 2.14 Список атрибутов элементов Многие элементы в FictionBook имеют дополнительные параметры — атрибуты.Атрибут alignВыравнивание текста в ячейке таблицы.Используется в элементах: td, th, trЗначение: фиксированное; left, right, center, justifyЗначение по умолчанию: leftАтрибут altНазначение


§ 2.15 Алфавитный список всех элементов FictionBook 2.1

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

§ 2.15 Алфавитный список всех элементов FictionBook 2.1 a (§ 2.11)annotation  (§ 2.5)author  (§ 2.5)binary  (§ 2.3)body  (§ 2.3)book-name  (§ 2.5)book-title  (§ 2.5)cite (§ 2.8)city  (§ 2.5)code (§ 2.11)coverpage  (§ 2.5)custom-info  (§ 2.4)date  (§ 2.5)description  (§ 2.3)document-info  (§ 2.4)email (§ 2.6)emphasis (§ 2.11)empty-line (§ 2.8)epigraph (§ 2.7)FictionBook  (§ 2.3)first-name  (§ 2.6)genre  (§ 2.5)history  (§


Создание Web-форм и элементов управления

Из книги VBA для чайников автора Каммингс Стив

Создание Web-форм и элементов управления Настала пора рассмотреть средства языков HTML и CSS, предназначенные для создания Web-форм и элементов управления, и возможности объектов Web- обозревателя и библиотеки Ext Core для работы с ними. Их довольно много. Создание Web-форм Для


Создание элементов управления

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Создание элементов управления Большинство элементов управления HTML создают посредством одинарного тега <INPUT>. Какой именно элемент управления следует создать, указывают с помощью необязательного атрибута TYPE этого тега. Некоторые элементы управления, такие как


События элементов управления

Из книги автора

События элементов управления Специфические события, поддерживаемые элементами управления, перечислены в табл. 20.1. Их немного. Элементы управления также поддерживают события dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover и mouseup, описанные в табл.


Создание Web-форм и элементов управления 

Из книги автора

Создание Web-форм и элементов управления  Настала пора рассмотреть средства языков HTML и CSS, предназначенные для создания Web-форм и элементов управления, и возможности объектов Web-обозревателя и библиотеки Ext Core для работы с ними. Их довольно


Создание элементов управления 

Из книги автора

Создание элементов управления  Большинство элементов управления HTML создают посредством одинарного тега <INPUT>. Какой именно элемент управления следует создать, указывают с помощью необязательного атрибута TYPE этого тега. Некоторые элементы управления, такие как


События элементов управления

Из книги автора

События элементов управления Специфические события, поддерживаемые элементами управления, перечислены в табл. 20.1. Их немного. Элементы управления также поддерживают события dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover и mouseup, описанные в табл.


Форматирование элементов управления

Из книги автора

Форматирование элементов управления В большинстве своем люди питают склонность к таким неосязаемым свойствам, как симметрия, согласованность и аккуратность. И вы, я думаю, хотели бы помочь пользователю сосредоточиться на тех задачах, которые предстоит выполнить, а не


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

Из книги автора

Выравнивание элементов управления Даже при включенной сетке довольно часто оказывается, что элементы управления, которые должны были бы находиться на одной линии, на самом деле располагаются зигзагообразно.Вместо того чтобы исправлять это вручную, воспользуйтесь


Использование элементов управления ActiveX

Из книги автора

Использование элементов управления ActiveX Вопреки сложившейся репутации программного империалиста, Microsoft стремится сделать свои средства разработки полностью "открытыми". Основываясь на спецификациях ActiveX, любой программист может создавать новые элементы управления,


Добавление новых элементов в панель элементов управления

Из книги автора

Добавление новых элементов в панель элементов управления Чтобы получить возможность использовать элемент управления ActiveX, выполните следующее.1. Установите программное обеспечение элемента управления на жесткий диск.Мне кажется, это имеет смысл.2. Зарегистрируйте


Разработка элементов управления

Из книги автора

Разработка элементов управления Microsoft не просто разрешает сторонним производителям создавать элементы управления ActiveX - она призывает к этому. В стандартную поставку Visual Basic 5 и 6 входят средства, позволяющие создавать пользовательские элементы управления. Только знайте,


Урезанная функциональность элементов управления

Из книги автора

Урезанная функциональность элементов управления Кроме отсутствия некоторых элементов управления, в .NET Compact Framework также была урезана функциональность имеющихся элементов. Наиболее часто употребляемые элементы управления с урезанной функциональностью приведены в