Лабораторная работа №6




Скачать 333.03 Kb.
НазваниеЛабораторная работа №6
страница1/2
Дата публикации10.12.2013
Размер333.03 Kb.
ТипЛабораторная работа
uchebilka.ru > Информатика > Лабораторная работа
  1   2

Лабораторная работа № 6

Управление Web Parts

Цель работы


Целью работы является теоретическое изучение инфраструктуры ASP.NET Web Parts Framework и основные навыки в построении и управлении Provider Web Part, Consumer Web Part и создании зон Web Part.

2. Состав рабочего места


2.1. Оборудование: IBM-совместимый персональный компьютер (ПК).

2.2. Программное обеспечение: операционная система Windows, интегрированная оболочка Visual Studio.

3. Краткие теоретические сведения

Страницы с элементами Web Parts


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

ASP.NET Web Parts Framework — это входящая в состав ASP.NET инфраструктура, предназначенная для создания Web-приложений с богатым и объемным контентом. Созданные на ее основе сайты позволяют пользователям отбирать и просматривать только ту часть контента, которая их интересует. Основой данной инфраструктуры являются компоненты Web Parts, в буквальном переводе Web-части или Web-разделы. Это контейнерные компоненты, которые могут содержать контент любого типа и потому особенно полезны для создания Web-порталов.
^

Что такое Web Parts


На рис. 6.1 показан Web-сайт My MSN. Страница этого сайта состоит из набора блоков, каждый из которых представляет определенный вид информации.

Ни один из блоков, которые вы видите на странице, не находится здесь по воле разработчика сайта. Все их отобрал и расположил удобным для себя образом пользователь, для чего ему предоставлены специальные ссылки Add Content и Change Details.

Страницы с подобной настраиваемой структурой можно создавать и в ASP.NET, составляя их из компонентов Web Parts.





















^

Рис.6.1 Страница сайта My MSN, принадлежащая зарегистрированному пользователю, составлена из выбранных им информационных блоков

Содержимое компонента Web Part


Отдельный компонент Web Part можно представить себе как окно с некоторой информацией, доступной на данной странице. Пользователи могут его закрывать, сворачивать и восстанавливать. Это внешняя сторона дела; с программной же точки зрения Web Part является контейнером, заполненным обычным HTML-содержимым — статическим текстом, ссылками, изображениями и различными элементами управления, в том числе пользовательскими (user) и специализированными (custom). Объединив технологию Web Parts и API для работы с пользовательскими профилями, разработчик может без труда создавать страницы и элементы управления, адаптируемые к индивидуальным нуждам каждого конкретного пользователя.

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

Структура и интерфейс Web Part


С точки зрения разработчика Web Part — это род интеллектуального элемента управления Panel. Подобно ему Web Part может содержать любой контент, поддерживаемый ASP.NET. Что делает компонент Web Part более мощным, чем обыкновенная панель, так это поддержка, получаемая им от менеджера Web Parts, и особые графические элементы, которые служат для управления его окном на экране. Интерфейс Web Part напоминает интерфейс обычного окна. У него есть строка заголовка и кнопки для свертывания, закрытия и восстановления.

Хотя Web Part может действовать как контейнер информации, поступающей из внешнего источника, такого, как сайт или страница, он отличается от фрейма. Фрейм — всего лишь ссылка на URL, и за его заполнение контентом, полученным по данному URL, всецело отвечает браузер. Тогда как Web Part является серверным элементом управления, передаваемым браузеру в виде чистого HTML. Этот компонент можно наполнить содержимым, собранным с других сайтов, но вы сами отвечаете за его сбор. Обычно для сбора информации используется технология HTML scraping, а если есть возможность, то Web-сервисы.
^

Введение в Web Parts Framework


В состав страницы, созданной на основе технологии Web Parts, входит несколько компонентов из Web Parts Framework, каждый из которых имеет свою функцию. Центральным элементом инфраструктуры Web Parts является элемент управления WebPart, но он здесь не единственный. Перечень всех элементов управления с их описаниями приведен в таблице.

Инфраструктура Web Parts включает класс WebPartManager и три типа компонентов, называемых частями: Web Parts (Web-части), Catalog Parts (части-каталогизаторы) и Editor Parts (части-редакторы).



Табл.6.1. Компоненты Web Parts Framework

Ч асти и зоны


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

Web Part определяет контент, отображаемый в окне на странице, тогда как Editor Part дает пользователю возможность редактировать структуру и установки конкретного элемента Web Part. Предположим, что вы создали Web Part для отображения прогноза погоды для нескольких избранных городов. Editor Part этого Web Part предоставит дружественный интерфейс, чтобы пользователь мог составить список интересующих его городов и задать необходимые установки, например указать, какие он хочет видеть значения температуры: по Цельсию или по Фаренгейту. Набор свойств, которые можно редактировать, определяется конкретным типом Web Part. При этом на самом деле пользователь редактирует свойства элемента управления WebPart.

Инфраструктура Web Parts позволяет пользователю выбрать части, которые он хочет включить в состав страницы, и разместить их. как ему нравится. Список доступных частей предоставляется элементом управления Catalog Part, который дает пользователю возможность динамически добавлять одни части и удалять другие. Каталог действует и как хранилище частей, удаленных пользователем со страницы с его помощью их также можно восстановить.

Web Parts — это исключительно серверные элементы управления. Их базовым классом является WebPart, наследующий другой абстрактный базовый класс, называемый Part. Аналогичным образом, EditorPart и CatalogPart являются базовыми классами элементов Catalog Parts и Editor Parts, и оба также наследуют класс Part. Он, в свою очередь, является производным от класса одного из встроенных серверных элементов управления — Panel. Все части реализованы как ASP.NET-контейнеры других элементов управления.

Рис.6.2. Иерархия классов Web Parts.
^

Класс WebPartManager


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



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

Элемент WebPartManager обеспечивает конечным пользователям возможность переносить части из одних зон в другие, а также перемещать их в пределах зоны. Кроме того, он предоставляет интерфейс для редактирования внешнего вида, свойств и поведения элементов управления. Еще он генерирует события жизненного цикла элементов Web Parts, такие как добавление, перемещение, соединение и удаление.

Наконец, WebPartManager отвечает за инициирование взаимодействия двух связанных частей и за программное перемещение, закрытие элементов Web Parts и импортирование их контента.

Две части одной страницы могут взаимодействовать и обмениваться информацией через особый канал, представленный объектом WebPartConnection. Взаимодействие частей возможно, если обе они реализуют специальные интерфейсы. Элемент Web Part, предназначенный для предоставления информации другим частям, должен реализовывать набор интерфейсов провайдера. Тогда часть-потребитель сможет предопределенным образом обращаться к его свойствам и методам. Специальная зона соединений позволяет конечным пользователям динамически создавать соединения, выбирая в списке подходящие элементы Web Parts и указывая, какой из них будет потребителем, а какой — провайдером.
^

Зоны Web Parts


Для каждого вида частей в ASP.NET 2.0 предусмотрен свой класс зон. Так, контейнером элементов WebPart является WebPartZone. Набор элементов Web Parts он хранит в виде свойства-коллекции WebParts, обеспечивая хостинг их контента. Кроме того, при переключении в режим Design элемент WebPartZone обеспечивает конечным пользователям возможность свободного перетаскивания Web Parts с помощью мыши. Режим Design — это один из поддерживаемых менеджером Web Parts режимов отображения страницы, распространяющийся на все находящиеся на ней элементы Web Parts. Элемент WebPartZone имеет довольно много настраиваемых разработчиком свойств; к их числу относятся PartStyle (стиль контента), PartTitleStyle (стиль строки заголовка) и MenuVerbStyle (стиль элементов меню, связанного с каждым элементом Web Part данной зоны). Мы вернемся к вопросу о стилях немного погодя.

Зоны других типов более специализированы. Элемент EditorZone используется для хранения элементов-редакторов, предназначенных для конфигурирования элементов Web Parts; CatalogZone служит для отображения каталога доступных Web Parts, из которого пользователь может выбирать требуемые части; наконец, ConnectionsZone содержит элементы, представляющие связи пар Web Parts, необходимые для их взаимодействия и образования представлений «главный-подчиненный».
^

Создание элементов Web Parts


Давайте создадим демонстрационный элемент Web Part и поэкспериментируем с его свойствами. Как рассказывалось выше, такой элемент представляет собой псевдоокно, расположенное на Web-странице и содержащее информацию, которую пользователь желает видеть на этой странице. Подобно окнам приложений его можно перемещать, а его контент в той или иной степени подлежит конфигурированию. Инфраструктура Web Parts обеспечивает возможность перетаскивания частей страницы с помощью мыши, изменения их набора и взаимного расположения. За программирование логики, а также создание элементов пользовательского интерфейса, предназначенных для редактирования и каталогизации контента, отвечает разработчик страницы.

Главная задача элементов Web Parts — выводить информацию для пользователя. Источник информации определяется назначением конкретного элемента Web Part и приложения, в состав которого он входит. Например, на порталах с персонализи­рованными страницами пользователей такие элементы отображают контент, взятый из локальной сети (отчеты, документы, объявления и т. п.) или предоставляемый внешними Web-сайтами (блоги, новости, биржевые котировки и т. д.)

Элемент Web Part явно или неявно наследует абстрактный класс WebPart. Поэтому с него и начнем наше исследование.
^

Класс WebPart


Существует две возможности создания разметки компонента Web Part: разработать спе­циализированный элемент управления, производный от WebPart, или воспользоваться другими серверными элементами управления, в том числе специализированными и пользовательскими (файлы .ascx). Существующие серверные и пользовательские элементы управления, не наследующие WebPart, будучи помещенными в Web-зону (программно или декларативно) автоматически обретают полную функциональность Web Parts. В таком случае указанные элементы во время выполнения заключаются в объект-оболочку GenericWebPart, и менеджер Web Parts воспринимает их как настоящие элементы управления Web Parts.

Класс GenericWebPart является производным от WebPart. Поэтому непосредственно использовать его в разметке страницы нельзя. Кроме того, заметьте, что каждый экземпляр класса GenericWebPart может служить оболочкой только одного серверного элемента управления.

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

Члены класса WebPart


В таблице ниже перечислены важнейшие свойства класса WebPart. Просмотрев ее, вы получите представление о том, насколько мощные возможности программирования заложены в элементах Web Parts. Заметьте, что данный класс косвенно наследует классы WebControl и Panel, поэтому у него довольно много дополнительных визуальных свойств — это BackColor, BacklmageUrl и ScrollBars.



Табл.6.2. Свойства класса WebPart

Интерфейс программирования класса WebPart большей частью состоит из свойств, перечисленных в данной таблице. У класса имеется всего один метод и нет ни одного собственного события (если не считать события, унаследованные от базовых серверных элементов управления). Открытым методом класса WebPart является CreateEditorParts, возвращающий коллекцию пользовательских объектов Editor Part, используемых для редактирования Web Part, когда активен режим Edit.



Табл.6.3. Методы класса WebPart:.

Переопределяя в производном от WebPart классе перечисленные в таблице методы, вы тем самым реализуете пользовательские процедуры обработки событий Web Part. Все эти события генерируются в ответ на действия пользователя или вызов методов класса менеджера Web Parts.
^

Свойства зоны, предназначенные для ее оформления


Web-зона имеет серию свойств, предназначенных для настройки ее внешнего вида и входящих в ее состав Web Parts. Они перечислены в таблице ниже.



Табл.6.4. Свойства зоны.

В Visual Studio очень помогает в оформлении зоны функция AutoFormat элемента управления WebPartZone. В большинстве случаев вы будете пользоваться ею, а не возиться с установкой перечисленных свойств вручную.
^

Свойства, управляющие поведением зоны


Помимо свойств, служащих для оформления зоны, элемент управления Web Zone имеет несколько свойств, управляющих ее поведением.


Табл. 6.5. Свойства Web Zone, которые управляют поведением зоны

Команды (verbs) играют в технологии Web Parts очень важную роль. Каждая такая команда представляет действие, которое может быть выполнено элементом Web Part. Доступные команды нужно как-то отображать для пользователя. По умолчанию они выводятся в строке заголовка в составе раскрывающегося меню или в виде ссылок в правой ее части.
^

Команды Web Parts


Командами определяются действия, выполняемые пользователем над элементом Web Part как целым: свертывание, восстановление, редактирование или закрытие. Их набор конфигурируется для зоны, но может переопределяться или включаться/отключаться для каждого отдельного Web Part посредством свойств AllowXXX, описанных выше.



^ Табл.6.6. Стандартные системные команды

Учтите, что свойства, связанные с командами, принадлежат не отдельным элементам Web Parts, а зоне, то есть для всех элементов Web Parts одной зоны заданы одинаковые установки этих свойств, хотя и может быть запрещено выполнение отдельных команд. Так, команду Close можно запретить следующей установкой:



Команда, запрещенная для всей зоны, не может быть разрешена на уровне отдельного элемента Web Part с помощью соответствующего свойства AllowXXX. Например, запрет, наложенный приведенной выше установкой, нельзя отменить, задав для отдельного элемента Web Part значение true атрибута AllowClose. Обратное, однако, возможно — команда, разрешенная для зоны, может быть запрещена для ее части.

Предположим, что для зоны задана следующая установка:



Тогда для отдельного элемента Web Part вы можете установить AllowMinimize в false и тем блокировать попытки пользователя свернуть его окно.

Команды представлены объектами WebPartVerb, у которых есть несколько свойств, включая Description (всплывающая подсказка), Text (текст либо заменяющий текст, если используется изображение) и ImageUrl (изображение). Список членов класса WebPartVerb завершает пара булевых свойств — Enabled и Visible, — которые определяют доступность и видимость команды в меню.
^

Определение пользовательской команды


Помимо стандартных команд элемент Web Part может иметь и свои собственные. Их определяют с помощью интерфейса IWebActionable, состоящего из единственного свойства — Verbs. Если вы создаете Web Part как классический серверный элемент управления, свойство Verbs необходимо переопределить, поскольку оно уже определено в составе класса, наследующего класс Part. Если же Web Part создается как пользовательский элемент управления, вы реализуете интерфейс IWebActionable в этом пользовательском элементе. Ниже показано, как добавить пользовательскую команду Refresh в наш демонстрационный элемент StockViewer.

private WebPartVerbCollection _verbs;

public override WebPartVerbCollection Verbs {

get {

if (_verbs == null)

{

ArrayList a = new ArrayList();

WebPartVerb verb = new WebPartVerb("Refresh",

new WebPartEventHandler(RefreshQuotesFromMenu)); verb.Text = "Refresh"; a.Add(verb);

_verbs = new WebPartVerbCollection(base.Verbs, a);

}

return _verbs;

}

}

Вы сохраняете команды в закрытом члене типа WebPartVerbCollection. Коллекция Verbs будет содержать только новые команды. Однако хорошая практика — объединять пользовательские команды, определенные в базовом классе, с командами разрабатываемого вами класса.
  1   2

Добавить документ в свой блог или на сайт

Похожие:

Лабораторная работа №6 iconДомашнее задание 6 Лабораторная работа Рекурсия и ее применение....
Лабораторная работа Простейшие алгоритмы сортировок (сортировка методом пузырька, вставки, выборки) 5

Лабораторная работа №6 iconЛабораторная работа Исследование стабилизаторного источника электрического питания ипс-1 36
Лабораторная работа Исследование мостовой схемы выпрямления и умножения напряжения 6

Лабораторная работа №6 iconЛабораторная работа № Работа в системе Matlab Лабораторная работа...
При выполнении работ предполагается использование системы программирования Matlab, что позволяет получить не только решение задачи,...

Лабораторная работа №6 iconЛабораторная работа №3 Численное интегрирование
Данная лабораторная работа посвящена вычислению определенного интеграла различными численными методами. Все они основаны на том,...

Лабораторная работа №6 iconЛабораторная работа №11
Знакомство с субд ms access: работа с существующей базой данных, фильтры по данным

Лабораторная работа №6 iconЛабораторная работа №2. Задание 5
Создание шаблона. Работа с шаблонами документов. Совместное использование Word и Excel

Лабораторная работа №6 iconЛабораторная работа n 9 Работа с командами обработки строк
В общем случае цепочечные команды позволяют выполнять действия над блоками памяти

Лабораторная работа №6 iconЛабораторная работа № Работа с эллиптическими кривыми
Изучение основных теоретических положений, касающихся арифметических операций над точками, принадлежащими эллиптическим кривым

Лабораторная работа №6 iconЛабораторная работа №13 Работа с многомерными массивами Цель работы
Выполнить обработку матрицы согласно варианту. При написании программы использовать универсальные алгоритмы

Лабораторная работа №6 iconЛабораторная работа №4 тема: Работа с таблицами в текстовом редакторе ms word
Цель: ознакомиться с возможностями редактора по созданию таблиц и закрепить на практике полученные навыки

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<