|
Программирование >> Программирование с использованием ajax
Catalog Zone Imported Wch Part Calabf Ъре a tile name ( W cbPart) oi dick Btowse to locale a W eb Part Гв7о<им.. i Once you hsvc selected a \УсЬ Part file to Hiort, click the Upload bunon Add to: Events - Puc. 20.15. Часть ImportCatalogPart пра1сгаческое занятие Добавление каталога Zone 1. Откройте ранее созданную Web-страницу WebPartDemo. aspx. 2. Добавьте элемент управления CatalogZone во второй столбец первой строки таблицы внутри страницы. 3. С помощью элемента управления CatalogZone выберите формат Professional Auto Format. 4. Добавьте часть PageCatalogPart и DeclarativeCatalogPart в зону Catalog. Перетащите эти элементы управления непосредственно поверх CatalogZone, поскольку эти элементы не могут существовать непосредственно на странице. 5. Для DeclarativeCatalogPart требуется некоторая настройка. В окне визуального конструктора щелкните на смарт-теге элемента управления DeclarativeCatalogPart и выберите пункт меню Edit Templates (Редактировать шаблоны). Теперь вы можете добавить в этот элемент управления несколько других элементов управления (пользовательские или серверные элементы управления). После того как добавление будет завершено, выберите пункт меню End Template Editing (Завершить редактирование шаблонов). 6. Откройте Web-страницу в браузере. Закройте один или несколько элементов управления Web-частей, щелкнув на меню Close (Закрыть). Элементы управления Web-частей исчезнут с экрана. Естественно, вы не можете закрыть элементы управления зоны, в которой Enabled свойства CloseVerb равно false. 7. Присвойте раскрывающемуся списку DropDownList значение Show the Catalog (Показать каталог). Поскольку у нас существует зона CatalogZone, меню Catalog добавляется в раскрывающийся список. Будет открыта зона Catalog. 8. Выберите опцию Page Catalog (Каталог страницы) в списке каталогов. В каталоге страницы все Web-части, которые были закрыты, появятся в списке. Выберите Web-часть из списка и добавьте ее в зону. 9. Выберите опцию Declarative Catalog (Декларативный каталог) в списке каталогов. При декларативном каталоге все настроенные Web-части появятся в списке. Выберите Web-части из списка, добавьте их в зону и закройте зону Catalog. Зона Connections Используя зону Connections, вы можете посылать данные из одного элемента управления Web-частей в другой такой элемент управления на той же странице. Получение интерфейсов поставщика. WebPartManager Передача информации поставщика .потребителям
Рис. 20.16. Взаимодействие WebPartManager с поставщиком и потребителем В следующем практическом занятии мы организуем связь между двумя Web-частями, передавая выбранное название страны из Web-части ListEvents в другую Web-часть. Практическое занятие Обеспечение соединения между Web-частями 1. Откройте ранее созданный Web-сайт EventRegistrationWeb. 2. Откройте специальную папку AppCode в окне Solution Explorer. Если эта папка не существует, создайте ее, выбрав пункт меню Website=>Add Folder=>App Code Folder (Web-caйт=t> Добавить папку=> Папка AppCode). 3. Создайте новый файл С# по имени ICountry.cs, чтобы определить интерфейс ICountry: public interface ICountry { string GetCountry(); 4. Откройте исходный код (файл ListEvents.ascx.es) ранее созданного пользовательского элемента управления ListEvents. Посредством класса ListEvents реализуйте интерфейс ICountry. Реализация метода GetCountry () необходима для того, чтобы вернуть выбранное название страны вызывающему объекту: Например, если пользователь выбирает город, чтобы узнать информацию о состоянии погоды из Web-части Weather, то выбранный город может быть отправлен в Web-часть News, которая отображает новости для этого же города. За организацию и управление соединениями между Web-частями отвечает элемент WebPartManager. Для организации связи между Web-частями необходимо определить, кто будет поставщиком, а кто - потребителем. Поставщик предлагает некоторую порцию данных; потребитель использует эти данные. На рис. 20.16 показано взаимодействие WebPartManager с поставщиком и потребителем. WebPartManager вызывает методы от поставщиков для предоставления интерфейсов, доступ к которым может осуществляться для получения данных. Поставщики идентифицируются посредством атрибута [ConnectionProvider]. Диспетчер WebPartManager передает эти интерфейсы потребителям. Потребители идентифицируются посредством атрибута [ConnectionConsumer]. Теперь потребитель может вызывать методы поставщика для получения данных. public partial class ListEvents : System.Web.UI.UserControl, ICountry { public string GetCountryO { return DropDownListCountries.Selectedltem.Value; . . . 5. Для поставщика необходим также метод, помеченный атрибутом [Connection Provider]. Этот метод возвращает интерфейс. Реализуйте метод GetCountry Interface (), чтобы вернуть ссылку на интерфейс ICountry. Атрибут [Connection Provider] определяет для поставщика дружественное имя (Country) и действительное имя (CountryProvider). Добавьте следующий код в файл ListEvents. ascx. cs: [ConnectionProvider( Country , CountryProvider )] public ICountry GetCountrylnterface () return this; 6. Создайте новый пользовательский элемент управления Country. ascx, который будет действовать в качестве потребителя. Для этого элемента управления нужна всего лишь метка для отображения названия страны. В качестве идентификатора метки присвойте значение LabelCountry. 7. Откройте код С# пользовательского элемента управления Country, чтобы реализовать метод потребителя, помеченный атрибутом [ConnectionConsumer]. Метод SetCountry () получает интерфейс ICountry, который он использует для приема данных от поставщика с помощью метода GetCountry (). Возвращенная строка присваивается свойству Text метки: [ConnectionConsumer( Country , CountryConsumer )] public void SetCountry(ICountry provider) string country = provider.GetCountry(); if (!string.IsNullOrEmpty(country)) { LabelCountry.Text = country; 8. Откройте Web-страницу WebPartDemo. aspx. Добавьте новый пользовательский элемент управления Country. ascx в зону Web-частей. 9. Выберите WebPartManager и щелкните на кнопке Ellipsis (Овал) со свойством StaticConnections в окне редактора свойств (Property Editor). Добавьте новое соединение с параметрами, перечисленными в табл. 20.3. Таблица 20.3. Значения свойств соединения
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |