Опубликован: 24.01.2007 | Уровень: специалист | Доступ: платный
Лекция 5:

Настроечные параметры мобильных элементов управления

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Аннотация: В этой лекции более подробно рассмотрены параметры для настройки Microsoft Mobile Internet Toolkit (MMIT - набор элементов управления Microsoft для мобильных устройств), включенного в Microsoft .NET Framework версии 1.1.

В этой лекции более подробно рассмотрены параметры для настройки Microsoft Mobile Internet Toolkit (MMIT – набор элементов управления Microsoft для мобильных устройств), включенного в Microsoft .NET Framework версии 1.1. MMIT – это коллекция пространств имен и элементов управления, которые используются при разработке приложений для мобильных устройств. Для определения типа устройства, производящего доступ к ресурсу, MMIT использует раздел <browserCaps> совместно с разделами <mobileControls> и <deviceFilters>. После определения типа и возможностей этого устройства MMIT соответствующим образом настраивает содержимое, отсылаемое клиенту.

Ниже приведено описание следующих разделов.

  • <mobileControls>. Позволяет определить новые адаптеры устройств, которые ставятся в соответствие мобильным элементам управления ASP.NET.
  • <deviceFilters>. Позволяет добавлять фильтры устройств, используемых в коде, для ручной настройки содержимого страниц, отсылаемого клиенту.

Определение мобильного устройства в разделе <browserCaps> является простейшим способом указать его параметры.

Дополнительная информация. Имеются различные типы устройств, которые считаются "мобильными": телефоны, карманные компьютеры (PDA), пейджеры и любые другие устройства, которые не используют полноценный браузер (Internet Explorer, Netscape и т.п.)

Если вам требуются дополнительные возможности по настройке, отсутствующие в разделе <browserCaps>, воспользуйтесь настройкой отсылаемого клиенту содержимого в разделах <mobileControls> и <deviceFilters>.

Работа с разделом <mobileControls>

Раздел <mobileControls> определяет набор адаптеров, соответствующих мобильным элементам управления ASP.NET. Адаптер – это класс, который настраивает каждый мобильный элемент управления для конкретного мобильного устройства или языка. В таблице 5.1 содержится перечень адаптеров, установленных в MMIT по умолчанию.

Таблица 5.1. Набор мобильных адаптеров по умолчанию
Адаптер Описание
HTML Используется для устройств, которые понимают HTML 3.2 без клиентских сценариев.
CHTML Используется для устройств, которые понимают HTML 3.0 без клиентских сценариев.
WML Используется для устройств, которые понимают WML 1.1.

Например, если доступ к вашему приложению осуществляет устройство Pocket PC, адаптер HTML генерирует содержимое в формате HTML 3.2. Наборы адаптеров объявляются в разделе <mobileControls>. Ниже приведен синтаксис этого раздела.

<system.web>
  <mobileControls allowCustomAttributes="true | false"
    sessionStateHistorySize="size of history"
    cookielessDataDictionaryType="dictionary type">
    <device name="device name" inheritsFrom="parent adapter set"
      predicateClass="class" predicateMethod="method to call"
      pageAdapter="Adapter Class">
      <control name="control class" adapter="adapter class" />
    </device>
  </mobileControls>
</system.web>

В показанной выше записи имеется много свойств и элементов, и мы последовательно рассмотрим все эти элементы.

Настройка свойств <mobileControls>

Свойства элемента <mobileControls> – это глобальные параметры среды выполнения для мобильных устройств. Они позволяют настраивать то, как среда мобильных устройств поддерживает состояние и включены ли пользовательские атрибуты. В таблице 5.2 содержится перечень свойств элемента <mobileControls>.

Таблица 5.2. Свойства <mobileControls>
Свойство Описание
allowCustomAttributes Определяет, могут ли страницы содержать пользовательские атрибуты. Их наличие позволяет включать в элементы управления атрибуты, специфичные для конкретного адаптера. Все добавленные в элемент управления атрибуты сохраняются как пользовательские и доступны всем адаптерам, интерпретирующим данный элемент управления.
sessionStateHistorySize Определяет максимальный размер (в Кб) сохраняемой в сессии истории. Так как обычно мобильные устройства имеют ограниченное количество свободной памяти, и большинство из них не могут хранить cookies, состояние сессии и информация о состоянии представления хранится в переменных сессии.
cookielessDataDictionaryType Определяет класс словаря, который содержит аутентификационную информацию, вводимую с помощью формы, не использующей cookies. Можно отключить эту функцию, установив данное свойство равным пустой строке.

Ниже показан пример раздела <mobileControls>, отображающий только эти свойства.

<mobileControls allowCustomAttributes="true"
  sessionStateHistorySize="6"
  cookielessDataDictionaryType="System.Web.Mobile.CookielessData">
</mobileControls>

Использование пользовательских атрибутов. Установка свойства allowCustomAttributes в значение true включает пользовательские атрибуты для всех мобильных элементов управления. Это означает, что вы можете указать любой тип свойства в мобильном элементе управления, и он будет сохранен и передан в адаптер. Применение данных атрибутов позволяет указать атрибуты, которые будут использоваться только конкретным адаптером. Любое свойство, установленное для элемента управления, которое не распознается как свойство по умолчанию для этого элемента, сохраняется и передается в адаптер. Например, для добавления свойства элементу mobile:Label используется следующий синтаксис.

<mobile:Label runat="server" id="lblLabel" text="Our Label Text"
  wmlFormat="NNN" />

Свойство wmlFormat будет сохранено и передано в адаптер, который обрабатывает данный элемент управления. Это свойство использует адаптер WML; остальные адаптеры его игнорируют.

Предостережение. Если вы случайно введете " txt " вместо " text ", элемент управления вместо информирования об ошибке из-за неправильного имени свойства сохранит это свойство как пользовательский атрибут.

Затем адаптер получает к свойству доступ с помощью класса словаря CustomAttributes и использует это свойство для генерации собственного содержимого для клиента.

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Геннадий Щербаков
Геннадий Щербаков

В начале года получил код dreamspark  H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При  его вводе- сообщение что он просрочен.