Конфигурирование и настройка Microsoft ASP.NET

Использование фильтров для мобильных элементов управления


Теперь давайте рассмотрим, как использовать фильтры для настройки содержимого, генерируемого мобильными элементами управления. Оба описанных фильтра предназначены для определения цветовых возможностей запрашивающего устройства, так что вполне естественно, если мы рассмотрим их применение для элемента управления <mobile:Image>. Ниже показан пример элемента управления <mobile:Image>, который не использует фильтры.

<mobile:Image runat="server" ImageURL="logo.gif" />

Данный элемент управления отображает файл logo.gif на всех устройствах, с которых осуществляется доступ к вашей странице. Это хорошо для настольных компьютеров и ноутбуков, но мобильные устройства требуют, чтобы изображение было настроено в соответствии с цветовыми возможностями устройства. Для использования в этом элементе управления фильтров из предыдущего раздела применим элемент <DeviceSpecific>. Этот элемент служит для указания параметров, связанных с фильтрами, в любом мобильном элементе управления. Ниже приведен его синтаксис.

<mobile:Image runat="server" ImageURL="logo.gif"> <DeviceSpecific> <Choice Filter="filter name" ControlProperty1="value" ControlProperty2="value" /> </DeviceSpecific> </mobile:Image>

В элементе <choice> можно указать любое количество свойств элемента управления. Если элемент управления отображается, и фильтр возвращает значение true, то к этому элементу применяются свойства из элемента <choice>. Ниже приведен пример использования двух определенных ранее фильтров.

<mobile:Image runat="Server" ImageURL="logoBW.gif"> <DeviceSpecific> <Choice Filter="IsColor" ImageURL="logoColor.gif" /> <Choice Filter="IsHighColor" ImageURL="logoHighColor.gif" /> </DeviceSpecific> </mobile:Image>

Рассмотрим порядок событий, возникающих при отображении данного элемента управления.

  1. Свойство ImageURL устанавливается в значение logoBW.gif (черно-белый логотип).
  2. Обрабатываются элемент <DeviceSpecific> и включенный в него элемент <choice>.
  3. Если фильтр IsColor возвращает значение true, свойству ImageURL присваивается значение logoColor.gif, при возвращении false фильтр не выполняется.
  4. Если фильтр IsHighColor возвращает значение true, свойству ImageURL присваивается значение logoHighColor.gif, при возвращении false фильтр не выполняется.
  5. Элемент управления <mobile:Image> отображается с использованием свойства ImageURL.

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



Содержание раздела