Программирование >>  Программирование с использованием ajax 

1 ... 214 215 216 [ 217 ] 218 219 220 ... 396


Имя обработчика

Описание

AnonymousIdentification Create

Anonymousldentification Remove

Profile MigrateAnonymous

Когда анонимный пользователь заходит на Web-сайт впервые, создается анонимный профиль. В этот момент вызывается обработчик события

Anonymousldentification Create

Когда зарегистрированный пользователь заходит на Web-страницу, а запрос зарегистрированного пользователя содержит идентификатор профиля анонимного пользователя, профиль анонимного пользователя удаляется, и вызывается обработчик события Anonymousldentification Remove

После события Anonymousldentif ication Remove вызывается обработчик события Prof ile MigrateAnonymous, благодаря которому анонимный профиль можно передавать в профиль для зарегистрированного пользователя

Реализация обработчика Prof ileMigrateAnonymous в файле global, азах выглядит так, как показано в следующем примере. Все значения профиля, доступные для анонимных пользователей, могут быть переданы в конфигурацию зарегистрированного пользователя. В примере кода происходит перенос значения профиля Country, доступного для анонимных пользователей, в конфигурационный файл. Сначала проверяется Prof ile. Country, чтобы выяснить, содержит ли он уже значение. Profile. Country будет иметь значение, если пользователь уже был зарегистрирован в системе в тот момент, когда создавалось значение профиля. Оно не будет содержать значение, если до этого момента пользователь был неизвестен в системе.

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

<profile>

<properties>

<add name= Country allowAnonyпюus= true />

</properties> </profile>

Когда доступ к профилю осуществляется для анонимного пользователя, в базе данных поставщика профиля создается запись для анонимного пользователя. Анонимный пользователь получает идентификатор (ID), подобный аутентифицированному пользователю. По умолчанию идентификатор анонимного пользователя хранится внутри cookie-набора, хотя вместо cookie-наборов можно использовать идентификаторы анонимного пользователя внутри URL-строк (т.н. изменение URL (URL-mungling)).

Часто бывает так, что информацию профиля об анонимном пользователе необходимо передать для зарегистрированных пользователей. Например, пользователь может добавить продукты в корзину товаров, не пройдя регистрацию; а чтобы отправить заказ, пользователь должен зарегистрироваться в системе. В подобных случаях вся информация о профиле, которая хранилась для анонимного пользователя, должна быть передана зарегистрированному пользователю.

Для работы с анонимными профилями в файле global .азах можно задействовать события, перечисленные в табл. 20.2.

Таблица 20.2. События для анонимных профилей



гистрированного пользователя и анонимного пользователя всегда имеются разные идентификаторы. Когда анонимный пользователь регистрируется в системе и становится аутентифицированным пользователем, идентификатор анонимного пользователя передается в аргументе ProfileMigrateEventArgs метода Profile MigrateAnonymous (). Идентификатор анонимного пользователя (е.AnonymousId) передается методу GetProf ile () для доступа к профилю анонимного пользователя. Эта информация профиля передается в информацию профиля аутентифицированно-го пользователя путем присваивания всех значений профиля (как Country в нашем примере).

void Profile MigrateAnonymous(object sender. ProfileMigrateEventArgs e) {

if (Profile.Country == null) {

Profile.Country = Profile.GetProfile(e.Anonymousid).Country;

Web-части

Действительно мощным средством, которое позволяет настраивать Web-приложения под каждого пользователя, являются Web-части (Web Parts). Благодаря Web-частям можно с легкостью создавать Web-приложения в стиле порталов. Примером такого приложения для портала из разряда социальных сетей является Facebook. com (рис. 20.8), который позволяет пользователям организовывать информацию так, как им этого захочется. Web-части можно организовывать для поддержания контакта с другими пользователями, получения информации о поездках, обсуждения тем во многих группах и т.д. Благодаря возможности персонально настраивать Web-портал, пользователь может определить, какие Web-части должны быть доступными.

* I CItmevt ItafM tMlMtowt intonwi Ежр1огм

-T---*

Aetson E .rtyn Ruf От Aft*

T ГМпмЬ im Otfcer Wrtmw*

Vjosoft (35)

-* . (10)

л A (7) Brlrvue <.A(3] Mr. o(?)

IJ OrerttiWobkemoM


Uamr titc Aixms ChniMn erwwJ 7 0 11

Aoitruj(13)

Ф Ошглвп шМей the Fw .>e арсз слг оп ул

/> Otntur ad*-l th* Me ар(*с Ьоп

i> Orsbarand < aua\. ttrarrnow*r n(it

Puc. 20.8. Реальный пример портала



Инфраструктура Web-частей состоит из зон (zone) и частей (part). Части, которые могут находиться внутри зоны, зависят от типа зоны; например, часть LayoutEditorPart может быть частью зоны EditorZone.

Главной зоной является зона Web Parts. Web-страница может иметь несколько зон Web Parts для определения компоновки страницы. Внутри этой зоны может содержаться множество Web-частей, пользовательских или серверных элементов управления.

Зона Catalog позволяет пользователю или администратору выбрать Web-часть из каталога для отображения внутри Web-страницы. Для этой зоны могут использоваться части PageCatalogPart, IraportCatalogPart и DeclarativeCatalogPart.

Благодаря зоне Editor пользователь или администратор могут редактировать поведение и внешний вид отдельных Web-частей. Внешний вид Web-части можно настраивать с помощью следующих элементов: AppearanceEditorPart, BehaviourEditorPart и LayoutEditorPart.

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

Диспетчер Web-частей

Для любого сайта, на котором используются Web-части, необходим специальный элемент управления - администратор Web-частей WebPartManager. Он отвечает за управление Web-частями. Благодаря этому элементу управления можно создавать, удалять или перемещать элементы управления Web-частей.

Единственным требованием в отношении WebPartManager является то, что он должен присутствовать на Web-странице, как показано в следующем коде ASPX:

<asp:WebPartManager ID= WebPartManagerl runat= server ></asp:WebPartManager>

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

Зона Web-частей

Чтобы иметь возможность использовать каркас Web-частей, для этого как минимум должна существовать зона WebPartZone. Зона WebPartZone содержит элементы управления Web-частей и определяет компоновку и внешний вид этих элементов управления внутри зоны. Как уже было отмечено ранее, зона WebPartZone может содержать пользовательские элементы управления, Web-части и серверные элементы управления.

Внутри страницы ASPX зона WebPartZone включает шаблон ZoneTemplate, содержащий элементы управления для отображения. Пример, показанный ниже, содержит ранее созданный пользовательский элемент управления ListEvents:

<asp:WebPartZone ID= EventsZone runat= server >

<ZoneTemplate>

<ucl:ListEvents ID= ListEventsl runat= server />

</ZoneTemplate> </asp:WebPartZone>

Благодаря зоне WebPartZone можно определять компоновку, цвет и меню. В приведенном ниже примере продемонстрирована зона WebPartZone с заранее определен-



1 ... 214 215 216 [ 217 ] 218 219 220 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика