Книга: C# для профессионалов. Том II
Специальные элементы управления
Специальные элементы управления
Специальные элементы управления — следующий шаг по сравнению с элементами управления пользователя в том смысле, что они являются полностью самодостаточными в сборках C#, не требуя отдельного кода ASP.NET. Это означает, что нам не нужно проходить через процесс сборки UI в файле .ascx
. Вместо этого мы имеем полный контроль над тем, что записывается в поток вывода, то есть, над кодом HTML, созданным элементом управления.
Обычно для разработки специального элемента управления требуется больше времени, чем для элемента управления пользователя, так как синтаксис является более сложным и часто требуется написать значительно больший код, чтобы получить результат. Элемент управления пользователя, как мы видели, может просто объединять несколько других элементов управления, в то время как специальный элемент управления может делать практически что угодно.
Чтобы получить наиболее гибкое поведение специальных элементов управления, можно выводить класс из System.Web.UI.WebControls.WebControl
. В этом случае создается полный специальный элемент управления. Иначе можно расширить функциональность существующего элемента управления, создавая производный специальный элемент управления. Наконец, можно сгруппировать существующие элементы управления почти так, как это делалось в предыдущем разделе, но с более логичной структурой, чтобы создать композитный специальный элемент управления:
Любой из этих элементов может использоваться на страницах ASP.NET одинаково. Необходимо только поместить созданную сборку в каталог bin
приложения Web, которое будет его использовать, и зарегистрировать имена используемых элементов с помощью директивы <%@ Register %>
. В этой директиве применяется немного другой синтаксис для специальных элементов управления:
<%@ Register TagPrefix="PCS" Namespace="PCSCustomWebControls" Assembly="PCSCustomWebControls" %>
Мы используем параметр TagPrefix
таким же образом, как и раньше, но не используем атрибуты TagName
или Src
. Это связано с тем, что сборка специального элемента управления может содержать несколько специальных элементов управления, и каждый из них будет именован согласно своему классу, поэтому TagName
является лишним. Кроме того, так как сборка находится в каталоге bin
, мы можем использовать средства платформы .NET для динамического обнаружения требуемой сборки просто по имени и пространству имен в ней, которое содержит элементы управления.
Выше, в примере строки кода, мы говорим, что хотим использовать сборку с именем PCSCustomWebControls.dll
с элементами управления в пространстве имен PCSCustomWebControls
, и при этом используем префикс PCS
. Если в этом пространстве имен имеется элемент управления с именем Control1
, то можно использовать его с кодом ASP.NET:
<PCS:Control1 Runat="server" />
С помощью специальных элементов управления можно также воспроизвести некоторое вложенное поведение элементов управления, такое, как мы видим в списке элементов управления:
<asp:dropdownlist runat="server" width="160px">
<asp:ListItem Value="1">The Happy Room</asp:ListItem>
<asp:ListItem Value="2">The Angry Room</asp:ListItem>
<asp:ListItem Value="3">The Depressing Room</asp:ListItem>
<asp:ListItem Value="4">The Funked Out Room</asp:ListItem>
</asp:dropdownlist>
Можно создать очень похожим образом элементы управления, которые интерпретируются как потомки других элементов управления. Позже в этой главе мы увидим, как это делается.
- Простой элемент управления пользователя
- Преобразование приложения предварительного заказа мероприятия в элемент управления пользователя
- Специальные элементы управления
- Конфигурация проекта специального элемента управления
- Базовые специальные элементы управления
- Производный элемент управления RainbowLabel
- Создание композитного специального элемента управления
- Конфигурация проекта специального элемента управления
- Базовые специальные элементы управления
- Глава 18 Специальные элементы управления
- Специальные формы
- Создание композитного специального элемента управления
- Глава 3 Элементы управления
- Элементы управления пользователя
- Элементы управления
- Создание элементов управления
- Основные "рычаги" управления производительностью
- Категорийный менеджмент. Курс управления ассортиментом в рознице
- 6.4. Рабочий лист Excel и его структурные элементы