Цель практического занятия: Целью данного семинара является применение технологии
Файлы к практическому занятию Вы можете скачать здесь.
В приведенном в предыдущем практическом занятии шаблоне ie:PreviewUrl. Он позволяет сделать предварительный просмотр результатов поиска в небольшом окне, которое отображает html-страницу с результатами поиска. Это возможно, так как на самом деле при загрузке в браузер
(рис 22.1) Пример поиска адреса на карте с помощью сервиса Live MapsСуществуют следующие категории
Add );Blog );Define );Map );Send );Translate );Find, именно к этой категории относятся поисковые провайдеры).Отдельно стоит выделить категорию Share, куда принято относятся все
<activity category="Share">
В общем, можно использовать и собственные категории. При этом принято придерживаться правила, что категория должна выражаться глаголом, который будет понятен пользователю и не связан с определенной торговой маркой или приложениями, которые могут использоваться в этой категории другими
Свойства документа и содержимое передаются поставщику службы GET и/или POST. Эти свойства выражены заменяемыми переменными, которые можно передавать в виде полей формы или параметров URL-адреса. Переменные можно указать непосредственно в атрибуте action элементов execute и preview или в элементах parameters.
Доступны переменные, перечисленные в табл. 22.1.
| Переменная | Контекст | Описание |
|---|---|---|
{documentUrl} |
Все | Свойство href документа. |
{documentTitle} |
Все | Свойство title документа, если доступно. |
{documentDomain} |
Все | Действующий домен второго уровня из свойства href документа. |
{documentHost} |
Все | Полное имя домена из свойства href документа. |
{selection} |
Выделение | Выбранный текст. |
{link} |
Ссылка | Свойство href выбранной ссылки. |
{linkText} |
Ссылка | Свойство innerText выбранной ссылки. |
{linkRel} |
Ссылка | Свойство rel выбранной ссылки, если доступно. |
{linkType} |
Ссылка | Свойство type выбранной ссылки, если доступно. |
{linkDomain} |
Ссылка | Действующий домен второго уровня из свойства href ссылки. |
{linkHost} |
Ссылка | Полное имя домена из свойства href ссылки. |
О переменных необходимо помнить следующее:
{} ; например {selection}. Чтобы указать в запросе сам символ фигурной скобки, используется обратная косая черта, например \{{selection}\}."?", это означает, что оно необязательное; например {documentTitle?}.{linkRel} в атрибуте action, в отношении ссылки без атрибута rel ), parameter имеет пустое значение по любой причине, он не появляется в запросе.В общем, описание
<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription
xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
<homepageUrl>http://maps.example.com</homepageUrl>
<display>
<name>
Карта MyMap</os:name>
<icon>
http://www.example.com/favicon.ico</ icon>
<description>Адреса на карте – с помощью MyMap.</description>
</ display>
< activity category="Карта">
<activityAction context="selection">
<preview action="http://maps.example.com/preview.php?addr={selection}" />
<execute action="http://maps.example.com/" method="get">
<parameter name="addr" value="{selection}" type="text" />
</execute>
</activityAction>
</activity>
</openServiceDescription>
Рассмотрим подробно все используемые теги.
<openServiceDescription xmlns:os="http://www.microsoft.com/schemas/openservicedescription/1.0">
Корневой элемент файла openServiceDescription. Атрибут xmlns является обязательным и должен иметь значение http://www.microsoft.com/schemas/openservicedescription/1.0.
<homepageUrl>http://maps.example.com</homepageUrl>
Обязательный. Элемент homepageUrl определяет основной URL-адрес homepageUrl.
<display>
Обязательный. Элемент display описывает способ отображения name и icon.
<name>Карта MyMap</name>
Обязательный. Элемент name – это имя
<icon>http://www.example.com/favicon.ico</icon>
Необязательный. Элемент icon содержит URL-адрес для значка (размером 16 x 16 пикселей) данного homepageUrl.
<description>Адреса на карте – с помощью MyMap.</description>
Необязательный. Элемент description содержит более длинное описание
<activity category="Карта">
Обязательный. Элемент activity содержит всю функциональность
Каждый элемент activity должен указывать атрибут категории для описания поддерживаемого типа функциональности.
<activityAction context="selection">
Обязательный. Каждый элемент activityAction указывает ход взаимодействия с поставщиком службы на основе целевого объекта selection.
| Контекст | Описание |
|---|---|
| Документ | Текущий документ. Доступен всегда. |
| Выделенный фрагмент | Значение по умолчанию. Выделенный фрагмент текста. |
| Ссылка | Гиперссылка. |
<preview action="http://maps.example.com/preview.php?addr={selection}" />
Необязательный. Элемент preview определяет содержимое окна HTML, которое отображается при наведении пользователем указателя мыши на execute.
URL-адрес атрибута действия может содержать переменные, заменяемые при выполнении команд.
<execute action="http://maps.example.com/" method="get">
Обязательный. Элемент execute указывает основное действие, выполняемое при запуске preview, этот элемент может содержать переменные замены в атрибуте действия или в виде отдельных элементов parameter.
Следующие атрибуты определены для execute и preview (табл. 22.3).
| Атрибут | Обязательный | Описание |
|---|---|---|
action |
Да | Шаблон URL-адреса для использования при отправке HTTP. |
method |
Нет | Тип используемого метода HTTP ( get, post ). По умолчанию – get. |
enctype |
Нет | Тип содержимого, отправляемого на сервер. По умолчанию – application/x-www-form-urlencoded. |
accept-charset |
Нет | По умолчанию – utf-8. |
<parameter name="addr" value="{selection}" type="text" />
Необязательный. Элемент parameter предоставляет дополнительный способ выражения значений. Обязательные атрибуты имени и значения определяют строчные выходные данные, относящиеся к службе, и обычно относятся к переменным
Необязательный атрибут типа используется для преобразования переменной {selection} в HTML или простой текст. Значение по умолчанию – text.
Добавим в корень проекта файл Accelerator.xml с описанием нового
<?xml version="1.0" encoding="UTF-8" ?>
<openServiceDescription xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
<homepageUrl>http://localhost:31770/AWCDShop</homepageUrl>
<display>
<name>Find product in Adventure Works</name>
<icon></icon>
</display>
<activity category="Find">
<activityAction context="selection">
<preview action="http://localhost:31770/AWCDShop/products/ProductsSearch.aspx?query={selection}" />
<execute method="get"
action="http://localhost:31770/AWCDShop/products/ProductsSearch.aspx?query={selection}" />
</activityAction>
</activity>
</openServiceDescription>
Как видно, и в качестве страницы для перехода и в качестве страницы для предпросмотра установлена разработанная ранее страница поиска.
Для того чтобы подключить разработанный master.master:
<img runat="server" alt="" height="46" width="144"
src="images/logo.jpg" onclick="window.external.AddService('Accelerator.xml')" />
Теперь при нажатии на логотип пользователь получит уведомление о том, что ему будет установлен новый
(рис 22.2) Добавление ускорителя Adventure Works в IE8Теперь достаточно выделить какой-либо фрагмент текста на каком-либо сайте, перейти в контекстное меню, и выбрать Find products in Adventure Works. При этом если просто навести мышку на этот пункт меню, но не нажимать, то откроется окно предварительного просмотра (рис. 22.3).
(рис 22.3) Предпросмотр ускорителя Adventure Works в IE8Поскольку
При использовании class можно обозначить смысл того или иного HTML-элемента на странице (этот атрибут определен для всех элементов). Таким образом, люди приходят к соглашению об использовании определенных значений атрибутов (в том числе class ) для разметки определенных фрагментов информации. В дальнейшем такую разметку можно обрабатывать машинными средствами.
Для разметки div и span. Из атрибутов в настоящее время используются в основном следующие:
class ;rel ;rev ;title.Основой
В следующем примере показывается, как
<div class="hslice" id="slice1">
<p class="entry-title"> Температура воздуха в Москве: 20 градусов</p>
<div class="entry-content">
<img src="sunny.jpg">
<p>Auction ends:
<abbr class="endtime" title="2008-02-28T12:00:00-05:00">
6 hours
</abbr>
</p>
</div>
<a rel="feedurl" href="www.weather-moscow.ru/weather.xml">
Subscribe to Feed
</a>
<p>Погода обновляется каждые
<span class="ttl">
15
</span> минут.
</p>
</div>
Основные свойства
Чтобы обнаружить
Обязательно должны присутствовать следующие свойства:
hslice ;id ;entry-title.Элемент hslice описывает раздел веб-страницы, на который можно оформить подписку в веб-браузере. В элементе hslice содержатся все обязательные и дополнительные свойства
<div class="hslice" id="score">
В отличие от классов в традиционном стиле именам классов
<div class="hslice forecast" id="weather">
Таким же образом, как и именованная привязка, атрибут id используется для идентификации id должен присутствовать в том же самом элементе, для которого используется класс hslice.
Значение id должно быть уникальным: если для нескольких id, Internet Explorer распознает только один из них. Если значение id изменяется, Internet Explorer больше не может идентифицировать
По крайней мере, в одном дочернем элементе .
<div class="hslice" id="main">
<h2 class="entry-title">Температура воздуха в Москве</h2>
...
</div>
Можно объединить несколько текстовых записей и создать динамический заголовок, обновляемый entry-title можно применить к нескольким элементам; Internet Explorer сцепляет значения в том порядке, в котором они указаны в HTML.
В приведенном ниже примере в Internet Explorer при обновлении
<div class="hslice" id="main">
<h2 class="entry-title"> Температура воздуха в Москве:</h2>
<p>На данный момент: <span class="entry-title">20deg;</span>.</p>
</div>
Заголовки
Проверяя, нет ли обновлений, Internet Explorer сравнивает ttl, то в подсистеме загрузки веб-каналов расписание обновления настраивается с использованием указанного значения. Частоту обновления можно также настроить в диалоговом окне "Свойства
Длительность и частота проверок обновлений регулируются с помощью следующих элементов
ttl ;endtime.Срок жизни (TTL) – это количество минут, в течение которых
<p>Обновление происходит каждые <span class="ttl">60</span> минут.</p>
Минимальный интервал проверки обновлений в браузере Internet Explorer составляет 15 минут.
Время истечения срока действия
<abbr class="endtime" title="2008-07-25T17:30:00-07:00">(friendly date format)</abbr>
Для указания строки даты и времени используется следующий общепринятый формат: ГГГГ-ММ-ДДВчч:мм:сс[Z|(+|-)чч:мм].
ГГГГ – 4 цифры, обозначающие год;ММ – месяц, от 01 до 12;ДД – день, от 01 до 31;В " – разделитель даты и времени;чч – часы, от 00 до 23;мм – минуты, от 00 до 59;сс – секунды, от 00 до 59 (необязательно);Z " – всемирное координированное время (("+"|"-")чч:мм – часы и минуты смещения часового пояса.Продемонстрируем возможности web-slice на примере создания страницы новостей. Для этого добавим в 'е новый пункт меню и создадим страницу news/News.aspx.
<asp:Content ID="Content2" ContentPlaceHolderID="column_l_placeholder" Runat="Server">
<asp:Panel ID="PanelNews" runat="server" CssClass="hslice">
</asp:Panel>
</asp:Content>
Все, что есть на странице – это панель в основной области, в качестве CSS-класса которой указан hslice. При рендеренге страницы вместо панели будет подставлен тег div с соответствующим классам. Весь остальной код поместим в бэк-код страницы. В качестве новостей будем отображать модели продуктов магазина, отсортированные по дате модификации. Такой подход применяется в связи с тем, что, как правило, на настоящих сайтах те же новости модераторы сайта вводят на специальных формах и сохраняют их в БД, а уж сам движок сайта формирует на основе БД страницу с новостями.
protected void Page_Load(object sender, EventArgs e)
{
DataClassesDataContext dcdc =
new DataClassesDataContext("Data Source=localhost;Initial Catalog=AdventureWorks;Integrated Security=True");
var query = from productModel in dcdc.ProductModels orderby productModel.ModifiedDate select productModel;
var newquery = query.Take(6);
foreach (ProductModel pm in newquery)
{
LiteralControl lc = new LiteralControl
("<p class ='entry-title'><b>"+
pm.Name+"</b></p>"+"<div class='entry-content'>"+
((pm.ProductModelProductDescriptionCultures.Count>0) ?
pm.ProductModelProductDescriptionCultures[0].ProductDescription.Description : "")+
"</div>");
PanelNews.Controls.Add(lc);
}
}
В нашу панель с новостями мы динамически добавляем LiteralControl 'ы, которые при отрисовки страницы просто превращаются указанную в их конструкторе разметку. В данном случае, для каждого из товаров будет отображен заголовок с названием и его описание, если оно есть. При этом параграфам с заголовками задан класс " entry-title ", а div 'у – " entry-content ". Теперь перейдем на страницу новостей и наведем мышкой на текст – он будет обведен рамкой и появится копка добавления web-slice в браузер (рис. 22.4).
(рис 22.4) Отображение веб-фрагмента Новости на странице Adventure Works в IE8После добавления, в панели инструментов появится новый раздел (рис. 22.5).
(рис 22.5) Отображение содержимого веб-фрагмента Adventure Works в панели избранного в IE8В нем можно увидеть последние новости, обновить их или перейти на страницу с новостями, причем для работы не обязательно находится в данный момент на самом сайте. Частота автоматического обновления – раз в сутки, но ее можно легко изменить. Для этого надо нажать правой кнопкой мыши по панели с web-slice, и выбрать меню "Свойства". В открывшемся окне можно указать необходимую частоту обновления (рис. 22.6).
(рис 22.6) Свойства веб-фрагмента Adventure Works в IE8Для программной установки частоты, как уже отмечалось, необходимо где-либо внутри div 'а с классом hslice вставить код:
<span class="ttl">15</span>
Класс ttl указывает браузеру, что число, указанное в теге <span> – время обновления, в данном случае – 15 минут.
Данное практическое занятие рассматривает следующие темы:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.