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:
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.
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.
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.
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".
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.
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