Поделиться через


Элемент <Choice> (руководство разработчика .NET Framework)

Обновлен: Ноябрь 2007

Предоставляет выбор одного из вариантов в наборе вариантов конструкции <DeviceSpecific>/<Choice>. При отрисовке выбирается один из вариантов в элементе <DeviceSpecific> на основе характеристик целевого устройства.

Элемент <Choice> может включать любое число шаблонов. Если элемент <Choice> включает шаблоны, он может использоваться в качестве набора шаблонов. Дополнительные сведения см. в разделе Наборы шаблонов и шаблонные элементы управления.

Элемент <Choice> может также включать свойства, переопределяющие свойства родительского элемента управления или стиля. Возможно переопределение следующих типов свойств:

  • Любое свойство, для которого можно декларативно установить буквенное значение, за исключением атрибутов ID и runat. Свойства, установленные для объектов, например свойства DataSource элементов управления, не могут быть заданы.

  • Любое свойство обработчика событий. Обработчик переопределения событий обеспечивает дополнительные функциональные возможности для любых существующих обработчиков событий, но не заменяет их.

  • Любой пользовательский атрибут. Любое нераспознанное свойство сохраняется как пользовательский атрибут, если страница допускает установку пользовательских атрибутов для элементов управления.

    3tfbhf6f.alert_note(ru-ru,VS.90).gifПримечание.

    Вариант по умолчанию должен всегда являться последним вариантом при выборе устройств (в противном случае оценка вариантов после варианта по умолчанию не будет выполняться, так как всегда будет выбран вариант по умолчанию). Можно объявить любое число дополнительных атрибутов в элементе <Choice>. Это обеспечивает возможность установки свойств, содержащихся в элементе управления, для каждого конкретного устройства. Если для элемента управления выбран элемент <Choice>, каждый из этих дополнительных атрибутов используется для переопределения соответствующего свойства, содержащегося в элементе управления.

<Choice Filter="deviceFilterName"
    Other attributes here.>
        templates
</Choice>

Свойства

Свойство

Описание

Filter

Задание фильтра устройства для оценки. Если это свойство опущено, вариант выбирается по умолчанию.

Contents

Возврат переопределенных свойств, определенных для варианта. Изменение этой коллекции после завершения обработки переопределенных свойств (в методе OnDeviceCustomize) не оказывает никакого влияния.

HasTemplates

Возвращает true, если для элемента <Choice> задан какой-либо шаблон, иначе возвращает false.

Templates

Возвращает набор шаблонов, заданный для элемента <Choice>.

Xmlns

Используется конструктором для определения типа разметки внутри шаблонов элемента <Choice>. Не предназначен для общего использования разработчиками.

Имя фильтра должно быть именем метода на странице или в связанном ASCX-файле либо именем допустимого фильтра устройства, определенного в разделе <deviceFilters> файла Web.config. Если имя метода задается свойством Filter, этот метод должен иметь соответствующую подпись:

public bool methodName(
    System.Web.Mobile.MobileCapabilities capabilities,
    String optionalArgument)

Например, если для свойства Filter установлено значение myChoiceMethod, должен существовать метод со следующей подписью:

public bool myChoiceMethod(
    System.Web.Mobile.MobileCapabilities capabilities, 
    String optionalArgument)

При выполнении оценки элемента <Choice> выполняется проверка, чтобы определить, существует ли на странице метод с соответствующей подписью. В противном случае проверяется раздел <deviceFilters> файла Web.config.

Дополнительные сведения об оценке фильтров устройств см. в разделе Отрисовка для конкретного устройства и в документации по свойству Filter.

Описание

Подробный пример см. в описании свойства Filter.

Код

<DeviceSpecific>
  <Choice Filter = "isHTML32">
    <HeaderTemplate>
      <mobile:Image runat=server ImageUrl="defaul1.gif" />
    </HeaderTemplate>
  </Choice>
  <Choice Filter="prefersWBMP">
    <HeaderTemplate>
      <mobile:Image runat="server" ImageUrl="default1.wbmp" />
        Wbmp Image<br />
    </HeaderTemplate>
  </Choice>
</DeviceSpecific>

См. также

Основные понятия

Отрисовка для конкретного устройства

Поддержка шаблонов устройств

Наборы шаблонов и шаблонные элементы управления

Ссылки

<deviceFilters>