Работа с устройствами
Раздел <mobileControls> содержит подраздел <device>, в котором объявляется новый адаптер, используемый для мобильных элементов управления. Свойства раздела <device> приведены в табл. 5.3.
name | Определяет имя данного набора адаптера. |
inheritsFrom | Определяет набор адаптера, от которого наследуется этот адаптер. Этот адаптер должен быть объявлен либо ранее в этом же разделе <mobileControls>, либо в разделе <mobileControls> вышестоящего настроечного файла. |
predicateClass | Указывает класс, с помощью которого определяется, должен ли данный адаптер использоваться для текущего запрашивающего устройства. Значение свойства представляет полную ссылку на этот класс. Оно может наследоваться от класса, указанного в свойстве inheritsFrom. |
predicateMethod | Указывает метод .NET, с помощью которого определяется, должен ли данный адаптер использоваться для этого устройства. Этот метод должен быть расположен в классе, указанном в свойстве predicateClass. Значение свойства может наследоваться от класса, указанного в свойстве inheritsFrom. |
pageAdapter | Определяет класс .NET для адаптера страницы данного набора адаптера. Значение свойства представляет полную ссылку на этот класс. Класс адаптера страницы должен реализовать интерфейс IPageAdapter. Это значение может наследоваться от класса, указанного в свойстве inheritsFrom. |
Каждый раздел <device> может содержать несколько подразделов <control>, каждый из которых задает соответствие между элементом управления и адаптером для обработки этого элемента. Каждый элемент управления, настраиваемый для данного устройства, должен иметь обрабатываемый его адаптер. В таблице 5.4 содержится перечень свойств раздела <control>.
name | Определяет имя мобильного элемента управления, для которого определяется адаптер. |
adapter | Определяет адаптер, который будет настраивать этот элемент управления для запрашивающего устройства. |
Чтобы получить лучшее представление о том, как все работает, посмотрите на пример раздела <device>, взятого непосредственно из файла machine.config.
<device name="ChtmlDeviceAdapters" inheritsFrom="HtmlDeviceAdapters" predicateClass="System.Web.UI.MobileControls.Adapters. ChtmlPageAdapter" predicateMethod="DeviceQualifies" pageAdapter= "System.Web.UI.MobileControls.Adapters.ChtmlPageAdapter"> <control name="System.Web.UI.MobileControls.Form" adapter= "System.Web.UI.MobileControls.Adapters.ChtmlFormAdapter" /> <control name="System.Web.UI.MobileControls.Calendar" adapter= "System.Web.UI.MobileControls.Adapters.ChtmlCalendarAdapter"/> <control name="System.Web.UI.MobileControls.Image" adapter= "System.Web.UI.MobileControls.Adapters.ChtmlImageAdapter" /> <! ---Extra control sections removed for brevity --> </device>
В примере раздел <device> предназначен для адаптера ChtmlDeviceAdapters и показывает, как выглядит обычный раздел <device>.