Compartilhar via


Usando dispositivo-modelos específicos

Quando a combinação de marcação específica do dispositivo com controles móveis do ASP.NET, você deve garantir consistência com base nos quais os controles móveis são renderização.Não há suporte para detecção inteligente e adaptação de marcações específicas do dispositivo e independentes de dispositivo mista.

Exemplo de mixagem incorreto

No exemplo a seguir incorreto, o Sumário do <ContentTemplate> elementos são enviados para o dispositivo se o filtro corresponde a funcionalidade do dispositivo. Observe o alignment propriedade no primeiro Panel controle e, na Label controle. Desde o Label controle está dentro de um WML <td> elemento, o <p> elemento gerado para o Label controle incorretamente é processado pelo navegador porque está dentro do <td> marca.

<mobile:panel  alignment="right">
  <DeviceSpecific>
    <Choice Filter="isWML11">
      <ContentTemplate>
        <table columns="2" align="LR">
        <tr>
          <td>
            </ContentTemplate>
           </Choice>
           </Devicespecific>
           </mobile:panel>
    <mobile:label id="label1"  text="HELLO HOW ARE YOU" alignment="left" />
    <mobile:panel >
         <DeviceSpecific>
           <Choice Filter="isWML11">
            <ContentTemplate>
              </td>
          <td>
         </ContentTemplate>
        </Choice>
  </Devicespecific>
</mobile:panel>

Depois que você defina uma configuração não padrão para alignment, um <p> elemento é processado para cada controle criado. O seguinte erro é gerado:

Digest Compile failed.
WML_1.1.DTD(9) : error: Close tag 'p' does not match start tag 'td'
WML_1.1.DTD(9) : error: Invalid element 'p' in content of 'tr'. 
    Expected td
WML_1.1.DTD(9) : error: Invalid element 'p' in content of 'tr'.   
    Expected td
WML_1.1.DTD(10) : error: Close tag 'td' does not match start tag 'p'

Nesse caso, a Label controle não herdar o alinhamento da primeira Panel controlar, para que ele gera um <p> elemento para o seu alinhamento. No entanto, um <p> elemento não pode ser adicionado nessa situação. Isso não é uma situação comum, mas você pode contornar o problema, marcando o Label controlar sistema autônomo visível apenas se ele não é renderização de um dispositivo baseado em WML e fazendo com que o texto dos Label controle especificado no modelo. Use o <table align="left"> marca na Panel controle de renderização WML.

Observação:

Você pode controlar o alinhamento geral de uma tabela, mas não o alinhamento de células individuais.

Exemplo corrigido

O exemplo a seguir corrigirá sistema autônomo erros anteriores e inclui adições, sistema autônomo diretivas de página e controles de formulário.

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" Language ="c#" %>
<Mobile:Form runat=server ID="OrderForm" Title="Submit your Order For pizza">
    <Mobile:link runat=server ID="LinkWN1" Text="What's On" Alignment="center">
</Mobile:link>
   <mobile:Panel runat=server>
      <DeviceSpecific>
         <Choice Filter="isWML11">
            <ContentTemplate>
              <table columns="2" 
                 align="LR">
<tr><td>
             </ContentTemplate>
         </Choice>
      </Devicespecific>
   </mobile:panel>
   <Mobile:Label id="label1" runat=server 
      Text="HELLO HOW ARE YOU">
   </Mobile:Label>
   <mobile:Panel runat=server>
      <DeviceSpecific>
         <Choice Filter="isWML11">
            <ContentTemplate>
</td><td>
            </ContentTemplate>
         </Choice>
     </Devicespecific>
   </mobile:panel>
   <mobile:Panel runat=server>
      <DeviceSpecific>
         <Choice Filter="isWML11">
            <ContentTemplate>
</td></tr>
              </table>
            </ContentTemplate>
         </Choice>
      </Devicespecific>
</mobile:panel>
</Mobile:Form>

<Mobile:Form runat=server ID="WhatisOn" Title="Contains">
<Mobile:Label StyleReference="Title" ID="LblWO2" runat=server Text="Toppings"></Mobile:Label>
</Mobile:Form>

Consulte também

Conceitos

Atributos personalizados para controles móveis

Recomendações de filtragem de dispositivo

Métodos de avaliação do dispositivo

Recursos do navegador estendido

Referência

HasCapability

MobileControl