Отметим, что здесь в раскрывающемся списке Configuration выбран элемент All Configurations, поэтому отладочная и окончательная сборка будут помещены в одном месте. Output Path был изменен на C:\Inetpub\wwwroot\PCSCustomWebControlsTestApp\bin Чтобы облегчить отладку можно также изменить значение Start URL на странице свойств Debugging наa Debug Mode - на URL таким образом, чтобы увидеть результаты, проект можно выполнять просто в режиме отладки.
Убедимся, что все это работает, протестировав элемент управления, который поставляется по умолчанию в файле
.cs
для библиотеки специального
элемента управления, называемой
WebCustomControl1
. Нам нужно внести следующие изменения в код
WebForm1.aspx
, который просто ссылается на вновь созданную библиотеку элемента управления и встраивает используемый по умолчанию элемент из этой библиотеки в тело страницы:
сконфигурирована как приложение запуска, можно нажать кнопку Debug, чтобы увидеть результаты работы:
Добавим также ссылку на проект
PCSCustomWebControls
в раздел тестирования приложений:
Затем добавим инструкцию
using
в пространство имен
PCSCustomWebControlsTestApp
в
WebForm1.aspx.cs
:
using PCSCustomWebControls;
Это позволит нам использовать наши специальные элементы управления из кода, скрытого за формой.
Базовые специальные элементы управления
Как можно предположить из результатов предыдущего раздела, образец элемента управления, создаваемый по умолчанию, является версией стандартного элемента управления
(отметим, как имя класса отображается прямо в элемент ASP.NET в простом примере, только что увиденном), который является производным из класса
WebControl
, как обсуждалось ранее. Для этого класса предоставлены два атрибута:
DefaultProperty
и
ToolboxData
. Атрибут
DefaultProperty
определяет, какое свойство будет использоваться по умолчанию для элемента управления в языках, которые поддерживают эту функциональность. Атрибут
ToolboxData
точно определяет, какой код HTML будет добавлен к странице
.aspx
, если этот элемент управления добавляется с помощью инструментальной панели Visual Studio (когда проект откомпилирован, можно добавить элемент управления в панель инструментов, конфигурируя панель инструментов для использования созданной сборки).
Класс содержит одно свойство:
Text
. Это очень простое текстовое свойство, похожее на те, которые встречались раньше. Здесь необходимо отметить только три атрибута:
□
Bindable
— показывает, может ли свойство быть связано с данными.
□
Category
— задает, будет ли свойство выводиться на страницах свойств.
□
DefaultValue
— значение по умолчанию для свойства.
Представление свойств в таком виде работает точно таким же образом, как и для специальных элементов управления, и определенно предпочтительно по отношению к представлению открытых полей.
Остальная часть класса состоит из метода
Render
. Это единственный самый важный метод для реализации при создании специальных элементов управления, так как в нем мы получаем доступ к потоку вывода для изображения содержимого элемента управления. Существует только два случая, когда этот метод не нужно реализовывать:
□ Когда создается элемент управления, не имеющий визуального представления (обычно называемый компонентом).
□ Когда создается производный элемент из существующего элемента управления и не требуется изменять характеристики его изображения.