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

       

Создание оценочного фильтра


Фильтры оценки при возвращении true или false используют собственный класс. Поскольку вы пишете класс, он может оценивать любое количество свойств или переменных. Первым шагом является создание класса для определения значения, возвращаемого фильтром (true или false), например, как показано ниже.

C#

public bool methodName(System.Web.Mobile.MobileCapabilities mobileCaps, string optionalString) { // Здесь расположена логика класса }

VB.NET

Public Function methodName(mobileCaps as _ System.Web.Mobile.MobileCapabilities, optionalString as String) _ as Boolean 'Здесь расположена логика класса End Function

Данный метод принимает экземпляр класса MobileCapabilities, который позволяет считывать свойства возможностей браузера и определять, должен ли класс возвратить значение true или false. Второй параметр – это строка, с помощью которой передается дополнительная информация, необходимая для использования в классе. Ниже приведены шаги для создания и настройки оценочного фильтра.

  1. Создайте собственный класс для вычисления true или false. Пример оценочного класса показан ниже. Этот класс проверяет возможности браузера isColor и ScreenBitDepth и определяет, может ли запрашивающее устройство работать с многоцветными изображениями.
  2. Добавьте фильтр в раздел <deviceFilters>.
<deviceFilters> <filter name="IsHighColor" type="ASPNETConfig.MEvaluators, ASPNETConfig.dll" method="IsHighColor" /> </deviceFilters>

Данный фильтр будет возвращать true, если запрашивающее устройство способно работать с многоцветными изображениями.

C#

public bool isHighColor(System.Web.Mobile.MobileCapabilities mobileCaps, string OptionalString) { bool bIsHighColor; if(mobileCaps.IsColor == true && mobileCaps.ScreenBitDepth >= 16) { bIsHighColor = true; } else { bIsHighColor = false; } return bIsHighColor; }

VB.NET

Public Function isHighColor(mobileCaps As _ System.Web.Mobile.MobileCapabilities, OptionalString As String) _ As Boolean Dim bIsHighColor As Boolean If mobileCaps.IsColor = True And _ mobileCaps.ScreenBitDepth >= 16 Then bIsHighColor = True Else bIsHighColor = False End If Return bIsHighColor End Function



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