В этой главе речь пойдет о первом варианте — о пользовательских элементах управления. Они наилучшим образом подходят для стандартизации содержимого, которое будет повторяться на каждой странице Web-сайта. Предположим, например, что вы должны предоставить пользователям единообразный способ ввода адресной информации на нескольких различных страницах. Чтобы решить эту задачу, можно создать пользовательский элемент управления адресом, комбинирующий группу текстовых полей и несколько связанных средств проверки. Впоследствии элемент управления адресом можно будет добавлять в любую Web-форму и связанную с ней программу как один объект.

Пользовательские элементы управления удобно применять также, если вам нужно создать и многократно использовать верхние и нижние колонтитулы сайта и средства навигации. (Мастер-страницы, о которых пойдет речь в главе 15, дополняют пользовательские элементы управления, позволяя стандартизировать компоновку Web-страниц.) В каждом из этих примеров можно вообще отстраниться от пользовательских элементов управления, и просто копировать и вставлять код по мере необходимости. И все же, если свой выбор остановить на этом варианте, то вы столкнетесь с серьезными трудностями, как только вам понадобится модифицировать, отладить или усовершенствовать элементы управления в будущем. Так как по всему вашему Web-сайту будут разбросаны многочисленные копии кода пользовательского интерфейса, вам придется очень нелегко, если вы займетесь поиском каждой копии, и будете вновь и вновь вносить одни и те же изменения. Понятно, что пользовательские элементы управления обеспечивают более элегантный, объектно-ориентированный подход.

На заметку! Начиная с версий ASP.NET 1.х, пользовательские элементы управления практически не претерпели изменений. Единственным отличием является новая модель скрытого кода (которая совпадает с новой моделью скрытого кода для Web-страниц) и улучшенная поддержка времени проектирования, которая позволяет видеть пользовательский элемент управления на поверхности конструктора страницы в Visual Studio 2005.

Основы пользовательских
элементов управления

Файлы пользовательских элементов управления (файлы с расширением .ascx) подобны файлам Web-форм ASP.NET (они имеют расширение .aspx). Как и Web-формы, пользовательские элементы управления состоят из части пользовательского интерфейса с дескрипторами элементов управления (файл с расширением .аsсх) и могут использовать файлы внутри строчных сценариев или файлы скрытого кода с расширением .cs. Пользовательские элементы управления могут содержать почти все, что может содержать сама Web-страница, включая статическое HTML-содержимое и элементы управления ASP.NET. Кроме того, они получают те же самые события, что и объект Page (например, события Load и PreRender), и раскрывают такой же набор присущих ASP.NET объектов через свойства (например, Application, Session, Request и Response).

К основным отличиям между пользовательскими элементами управления и Web-страницами можно отнести следующие:

предыдущая    следующая страница    вначало главы    оглавление

609

Hosted by uCoz