пользовательские элементы обрабатываются так же, как и насто- ящие (real controls). Вы можете принимать значения от пользовательско- го элемента, передавать их ему и вызывать любые открытые методы, пре- доставляемые этим элементом. Кроме того, для большей производительно- сти можно                               выводимые им данные. По сравнению с включае- мыми файлами пользовательские элементы обеспечивают гораздо большую

гибкость в проектировании приложения.


Рис. 1. Горизонтальное меню

Первое, что нужно сделать при разработке пользовательского элемента управления, — решить, какую функциональность он будет реализовать. В случае с меню каталога это легко. На рис. 1 показан созданный нами пользовательский элемент управления «меню». Как видите, это простое горизонтальное меню, позволяющее выбирать различные категории това­ров. Соответствующий код приведен на рис. 2.




Исходный код пользовательского элемента управления «мена» логически разделен на три части. В самом начале находится набор директив, указы­вающих язык программирования и импортирующих пространства имен. Далее размещается сценарий, выполняемый на серверной стороне. У это­го сценария две задачи: обработка текущей выделенной ссылки из набора (collection) Request для псдсветкз выбранного элемента меню, а также получение списка категорий из уuisn данных и его связывание с Web-эле­ментом DataList.

Третья часть кода относится к пользовательскому интерфейсу I) эле­мента управления, основанному на Web-элементе DataList, который выво­дит HTML по заданному шаблону. Шаблоны определяются в DataList с помощью специальных тэгов.

Для этого элемента можно определить семь шаблонов, каждый из которых влияет на его внешний вид:

• AllнTiiaringlteiiiTeiiijнlate:

• l.'dit lU'inTeinpiai е;

• l'oolerTeni plate;

• J ieader'Jenipнal с;

• IlciiiSiyleTemplate;

• Selected liemTemplale;

•  Separator Template.

Нас интересуют два шаблона из этого списка: ИппТетрЫо и Selectedltem-Template