Общие сведения о веб-частях ASP.NET

Visual Studio 2010

Обновлен: Ноябрь 2007

Веб-части ASP.NET — это интегрированный набор элементов управления для создания веб-узлов, позволяющих конечным пользователям изменять содержимое, внешний вид и поведение веб-страниц непосредственно из обозревателя. Изменения могут применяться либо для всех пользователей веб-узла, либо для отдельных пользователей. Когда пользователь изменяет страницы и элементы управления, эти параметры можно сохранить и использовать их в будущих сеансах работы. Эта возможность называется персонализацией. Такие функции веб-частей означают, что разработчики могут предоставить пользователям возможность создавать собственные веб-приложения динамически, без вмешательства самих разработчиков или администраторов.

С помощью набора веб-частей разработчик может предоставить пользователям следующие возможности:

  • Настроить содержимое страницы. Пользователи могут добавлять новые веб-части на страницу, удалять, скрывать или сворачивать их, как обычные окна.

  • Персонализировать разметку страницы. Пользователи могут перетаскивать веб-части в другую зону на странице, изменять их внешний вид, свойства и поведение.

  • Экспортировать и импортировать элементы управления. Пользователи могут импортировать и экспортировать параметры веб-части для использования на других страницах или узлах, сохраняя свойства, внешний вид и даже данные в этих элементах управления. Это уменьшает объем вводимых данных и количество зависящих от пользователей настроек.

  • Создавать подключения. Пользователи могут устанавливать подключения между элементами управления таким образом, что, к примеру, элемент управления диаграммы может отобразить в элементе управления биржевых кодов акций график по имеющимся данным. Пользователи могут персонализировать не только само подключение, но и внешний вид, и настройки отображения данных элементом управления диаграммы.

  • Персонализировать и управлять параметрами на уровне веб-узла. Авторизованные пользователи могут изменять параметры на уровне веб-узла, определять круг лиц, имеющих доступ к веб-узлу или странице, устанавливать доступ к элементам управления на основе ролей и т.д. Например, пользователь в роли администратора может установить какую-либо веб-часть как общую для всех пользователей и запретить пользователям, не являющимся администраторами, персонализировать этот общий элемент управления.

Набор веб-частей включает три основных строительных блока: персонализация, компоненты структуры пользовательского интерфейса и сами веб-части — элементы управления пользовательского интерфейса. Дополнительные сведения см. в разделе Общие сведения о наборе элементов управления веб-частей. Основное внимание разработчиков будет направлено на веб-части, которые являются обычными элементами управления ASP.NET, способными использовать возможности набора веб-частей.

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

Типичная страница веб-частей
Компоненты веб-частей

Эта страница содержит несколько основных элементов приложения веб-частей:

  • Использование зон для разметки страницы. Представлены два столбца с элементами управления: один содержит элементы управления Weather (погода) и Stock Quotes (котировки акций), а другой — элементы управления Hotmail (почта) и News (новости). Эти столбцы в терминологии веб-частей называются зонами — областями на странице, содержащими веб-части. Зоны предназначены для размещения веб-частей на странице и для предоставления общего пользовательского интерфейса в элементах управления. Страница содержит одну или несколько зон. В каждой из них находится одна или несколько веб-частей, и каждая зона может иметь вертикальную или горизонтальную ориентацию для разметки страницы.

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

  • Ссылки для включения расширенной персонализации. Они позволяют пользователям изменять содержимое, цвет и разметку страницы. Например, если пользователь щелкает ссылку Add Column (добавить столбец), приложение веб-частей позволит ему добавить столбец на страницу. Или, если пользователь щелкает ссылку Add Content (добавить содержимое), то отобразится каталог элементов управления, которые при необходимости он может добавить на страницу. Одним из них может быть элемент управления построения графиков акций. Пользователь может добавить этот элемент управления в одну из зон страницы, а затем подключить его к существующему элементу управления Stock Quotes для отображения графика котировок акции, которые он содержит.

Разработчики, как правило, работают с веб-частями тремя способами: создание страниц, использующих веб-части, создание веб-частей, создание завершенных веб-приложений с возможностью персонализации, например портала.

Разработка страниц

Для создания страниц, использующих веб-части, разработчики могут использовать средства визуального проектирования, например Microsoft Visual Studio 2005. Одним из преимуществ использования такого инструмента, как Visual Studio, является то, что набор веб-частей предоставляет возможности для создания и настройки веб-частей с помощью перетаскивания в визуальном конструкторе. Например, можно воспользоваться конструктором, чтобы перетащить зону веб-частей или редактор веб-частей в рабочую область конструирования, а затем сконфигурировать элемент управления непосредственно в конструкторе с помощью пользовательского интерфейса, предоставляемого набором веб-частей. Это может ускорить разработку приложений веб-частей и уменьшить объем кода.

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

Можно использовать любые существующие элементы управления ASP.NET как веб-части, включая стандартные серверные веб-элементы управления и пользовательские элементы управления. Для повышения гибкости веб-приложения также можно создавать пользовательские веб-части, которые являются производными от класса WebPart. При разработке самостоятельной веб-части, как правило, либо создается пользовательский элемент управления и используется как веб-часть, либо создается пользовательская веб-часть.

В качестве примера разработки пользовательской веб-части можно рассмотреть создание элемента управления для предоставления каких-либо возможностей, обеспечиваемых другими серверными элементами управления; он может использоваться в составе пакета как веб-часть с возможностью персонализации, например: календарь, список, финансовая информация, новости, калькулятор, элемент управления с поддержкой форматирования для обновляемого содержимого, редактируемая таблица, подключенная к базе данных, динамически обновляемый график, сведения о погоде или транспорте. Если разработчик предоставляет вместе с элементом управления визуальный конструктор, то затем другие разработчики веб-страниц, использующие Visual Studio, смогут просто перетащить элемент управления в зону веб-частей и настроить его во время разработки без необходимости писать какой-либо код.

Разработка веб-приложений

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

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

Для каждой части своего приложения вы можете расширять набор веб-частей для обеспечения полного управления окружением. Например, кроме создания пользовательских веб-частей для основного пользовательского интерфейса страниц, разработка пользовательского каталога веб-частей позволит обеспечить согласованность внешнего вида и поведения приложения и предоставит пользователям большую гибкость при добавлении элементов управления на страницу. Либо вы можете расширить элемент управления зоны, чтобы предоставить дополнительные настройки пользовательского интерфейса для элементов управления веб-частей, которые она содержит. Также можно написать пользовательский поставщик с возможностью персонализации, чтобы предоставить большую гибкость и контроль над хранением и управлением данными персонализации.

Показ: