Compartilhar via


Avaliar recursos por programação

Para controles móveis do ASP.NET, a funcionalidade fornecida por meio de <devicefilters> seção o arquivo Web.config pode ser acessada programaticamente usando o HasCapability método para o MobileCapabilities classe. Ao chamar esse método, você pode avaliar métodos de comparação.

The HasCapability método é útil para determinar programaticamente se o dispositivo corrente satisfaça um filtro de dispositivo declarado na Web. arquivo de configuração. The MobileCapabilities a avaliação de caches de instância de HasCapability método para que solicitações subseqüentes para o mesmo nome de recurso e o argumento opcional não precisem ser reavaliadas. The HasCapability método é útil quando você deseja escrever código que corresponde a como a estrutura página ASP.NET seleciona entre as várias opções em um <devicespecific> elemento.

Observação:

O HasCapability método não oferece suporte <devicespecific> opções de elemento que chamam métodos definidos na página.

The HasCapability método leva dois argumentos: capabilityName, que é o nome do método de avaliação do dispositivo, propriedade ou item no dicionário de recurso; e optionalArgument, que é um argumento que o capabilityName argumento requer.The HasCapability método executa a avaliação na seguinte ordem:

  1. Ele verifica se capabilityNameo valor de é o nome de um filtro de dispositivo especificado no arquivo Web.config.

    Observação:

    O HasCapability método avalia o <devicespecific> and <choice> construção por configuração o optionalArgument argumento null.

  2. Se o teste na etapa 1 retorna true e o filtro é um delegado avaliador (um filtro que usa um método personalizado para avaliar os dados especificados), o HasCapability método invoca o delegado com o argumento fornecido no optionalArgument parâmetro e retorna o resultado.

  3. Se o teste na etapa 1 é true e o filtro é um avaliador de comparação (um filtro que compara um nome de recurso com um valor especificado), o HasCapability método chama a mesmo com o nome do recurso e argumento fornecidas no avaliador (qualquer original optionalArgument parâmetro é ignorado) e retorna o resultado.

  4. Se o MobileCapabilities objeto possui uma propriedade chamada capabilityName, o HasCapability método converte essa propriedade como uma seqüência de caracteres e retorna true Se a optionalArgument valor é igual a essa seqüência de caracteres.Booleanas comparações não diferenciam diferenciar maiúsculas de minúsculas; outras comparações são diferenciar diferenciar maiúsculas de minúsculas.Portanto, "true" equivale a "True", mas não é equivalente a "Esquerda" "left".

  5. Se nenhum capabilityName propriedade existir, o HasCapability método examina o dicionário de recursos associado a MobileCapabilities objeto. Se o capabilityName propriedade existir, o HasCapability método compara-o para o optionalArgument parâmetro e retorna o resultado.Como o dicionário mantém as seqüências de caracteres, sem a conversão é necessária.

  6. Se esses testes falharem, o HasCapability método lança um ArgumentOutOfRangeException exceção.

Exemplos

Os exemplos a seguir mostram como você pode telefonar o HasCapability método, onde GPSEnabled e ScreenBitDepth são filtros definidos, propriedades ou valores de Items coleção.

((MobileCapabilities)Request.Browser).HasCapability("GPSEnabled", null);

sistema autônomo alternativa, você pode chamar o método da seguinte maneira:

((MobileCapabilities)Request.Browser).HasCapability("ScreenBitDepth", "8");

Consulte também

Conceitos

Métodos de avaliação do dispositivo

Recomendações de filtragem de dispositivo

renderização específico do dispositivo

Referência

Tabela de recursos do dispositivo

Elemento <filter>