Compartilhar via


renderização específico do dispositivo

Embora a páginas da Web móveis ASP.NET pode processar automaticamente para uma variedade de dispositivos, eles também fornecem maneiras para você especificar o conteúdo específico para um dispositivo ou uma classe de dispositivos.Isso significa que páginas da Web móveis permitem que você personalize uma página para tirar proveito dos recursos específicos de um dispositivo.Por exemplo, é um requisito comum processar itens diferentes em diferentes dispositivos.ASP.NET trata grande parte a formatação de implícita apropriado para renderização em uma variedade de tipos de dispositivos.No entanto, se necessário, você pode ter ASP.NET processar um rótulo usando uma seqüência de caracteres em um dispositivo e uma seqüência diferente em outro dispositivo.

Para gerenciar esses cenários, você pode incluir código no aplicativo para conjunto as propriedades dos controles de acordo com os resultados das consultas de recursos do dispositivo.Para personalizar uma página da Web móvel para tipos específicos de dispositivos, você pode definir um conjunto de filtros de dispositivo para a página e especificar o filtro para cada tipo de dispositivo usando um <DeviceSpecific><Choice> Construa.

Observação:

O padrão Visual Studio m obile c configuração -F- ile contém uma variedade de filtros de dispositivo predefinido.O ASP.NET 2.0 não gera automaticamente filtros de dispositivo móvel por padrão.No entanto, se você migrar seu aplicativo Web Web de uma versão anterior do ASP.NET para o ASP.NET versão 2.0, os filtros de dispositivo serão mantidos na arquivo Web.config.

Usando a propriedade de filtro

Use o Filter propriedade para avaliar filtros de dispositivo em relação a recursos do dispositivo ou para conjunto filtros específicos.

O nome do filtro deve ser o nome de um método na página ou associado arquivo .ascx ou o nome de um filtro de dispositivo válido definido no <devicefilters> elemento o arquivo Web.config.Se for especificado um nome de método com o Filter propriedade, esse método deve coincidir com o seguinte protótipo:

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

Por exemplo, se o Filter propriedade estiver definida como myChoiceMethod, um método com a assinatura a seguir deve existir.

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

Quando ASP.NET avalia o Escolha elemento, ele verifica se existe um método de assinatura apropriada no controle de usuário ou página.Se não existir, o ASP.NET verifica o <deviceFilters> elemento do arquivo Web.config.

Usando filtros de dispositivo para estender a classe MobileCapabilities

Adicionando seus próprios filtros de dispositivo para o arquivo Web.config, você pode estender o MobileCapabilities classe. Configurar filtros de dispositivo fornece um mecanismo de avaliação para dois tipos de filtros: um filtro com base em comparação e um filtro com base em avaliador-delegado.

Comparação com filtros

O filtro de comparação faz comparações básicas, geralmente com base em um argumento booliano.Para esse tipo de filtro, você pode fornecer o nome de um recurso e o valor que você deseja que o filtro para comparar.Em time de execução, o avaliador terá êxito se o valor de recurso e o valor que você fornecer forem iguais.As propriedades booleanas comparadas são caso - maiúsculas e minúsculas, portanto, true e True são equivalentes. Em comparação com outras propriedades são caso - confidenciais.

Avaliador de delegado com filtros

Para uma avaliação mais complexa, você pode especificar um filtro com base em avaliador-delegado, fornecendo o nome de classe e método de um método.Em time de execução, o método que você fornecer será chamado para teste o avaliador.Você deve escrever e compilar seu próprio método para testar o avaliador.sistema autônomo alternativa, você pode definir um método em sua página ou controle de usuário e fazer a referência diretamente a partir de filter atributo, sistema autônomo descrito anteriormente.

arquivo Web.config Sintaxe

Ao especificar filtros de dispositivo a arquivo Web.config, você adicioná-los para o <system.web> seção. Para exibir a sintaxe, consulte <devicefilters>.A sintaxe se aplica a ambos os tipos de filtros.No exemplo a seguir, o primeiro filtro mostra o filtro de comparação e o segundo filtro mostra o filtro com base em avaliador-delegado:

<system.web>
  <deviceFilters>
    <filter
      name="capability"
      compare="capabilityName"
      argument="argument" />
    <filter
      name="capability"
      type="className"
      method="methodName" />
  </deviceFilters>
</system.web>

The MobileCapabilities objeto avalia esses filtros em time de execução. Cada filtro de dispositivo Especifica uma condição de avaliação com base em recursos do dispositivo.The sets of devices targeted by device filters are usually not discrete; for example, many devices can match both the IsColor and IsPDAfilter attributes.

Observação:

Os nomes de dispositivo filtro diferenciam diferenciar maiúsculas de minúsculas.

Dentro de <DeviceSpecific><Choice> construção, você especificar os valores para esses filtros. Por exemplo, o código a seguir acessa o IsColor atributo de filtro definido na Web. arquivo de configuração.

<DeviceSpecific>
    <Choice Filter="IsColor" ImageUrl="colorImg.gif" />
</DeviceSpecific>

Usando a construção de dispositivos específicos/opção

The <DeviceSpecific><Choice> construção é a construção de núcleo para inserir marcações específicas do dispositivo em uma página. Para adicionar marcação específica do dispositivo para um controle, você adiciona o <DeviceSpecific> elemento sistema autônomo um filho do controle. Um controle pode conter apenas um <DeviceSpecific> elemento.

The <devicespecific> elemento e o <choice> elemento permitem que você especifique um conjunto de valores a partir do qual ASP.NET escolher, com base nas características do dispositivo solicitante.Os valores das opções são seqüências de caracteres.

The <devicespecific> elemento é um contêiner externo para conter um número de opções, conforme mostrado no exemplo a seguir:

<mobile:Image runat=server ImageURL="bw.gif">
  <DeviceSpecific>
    <Choice Filter="isColor" ImageURL="colorImg.gif"
      AlternateText="This device cannot display the image." />
    <Choice Filter="isWML11" ImageURL="myImage.wbmp" />
    <Choice ImageURL="monoImage.gif" />
  </DeviceSpecific>
</mobile:Image>

Filtros, sistema autônomo isColor deve ter sistema autônomo entradas correspondentes no arquivo Web.config ou deve existir sistema autônomo métodos na página ou controle de usuário, conforme descrito anteriormente.

Usando o elemento Choice

As opções são colocadas dentro de um <DeviceSpecific> elemento e representam os pares de característica/valor do dispositivo, onde a característica de dispositivo é tirada de várias fontes. As opções são avaliadas na ordem em que aparecem no DeviceSpecific/Choice Construa.

Embora um controle pode conter apenas um <DeviceSpecific> elemento, você pode adicionar qualquer número de <Choice> elementos dentro de um <DeviceSpecific> elemento. Cada <Choice> elemento pode conter o seguinte:

  • Um nome de filtro, que especifica filtro de dispositivo para avaliar.Se o nome do filtro for omitido, a opção é selecionada por padrão.

  • Propriedades adicionais que substituem as propriedades do controle pai.

  • Definições de modelo para o controle.

ASP.NET seleciona a <Choice> elemento de usar, passando por cada opção em ordem e avaliar o filtro especificado pelo nome do filtro. Se o filtro corresponde ao dispositivo de destino corrente (por meio da avaliação de true), se a opção está selecionada. O controle, em seguida, aplica quaisquer substituições de propriedade especificadas na opção e pode usar quaisquer modelos definidos no renderização.

Consulte também

Outros recursos

Desenvolvimento de páginas de Web móveis do ASP.NET