Suporte de modelo do dispositivo
Suporte ao modelo de dispositivo é fornecido sistema autônomo parte da construção DeviceSpecific/Choice.Escrever controles móveis do ASP.NET que fornecem modelos de dispositivo é muito semelhante a escrever controles de servidor ASP.NET modelados.No entanto, tenha em mente as seguintes diferenças que são exclusivas de controles móveis:
Todos os controles móveis oferece suporte a modelos de dispositivo implementa o ITemplateable interface. Esta é uma interface de marcador e não possui métodos.
Controles que oferecem suporte a modelos de dispositivo devem ter um modo de renderização padrão para que o controle ainda pode processar em dispositivos quando nenhum modelo de dispositivo é definido ou especificado.
Os desenvolvedores do controle precisam decidir como tratar os modelos de dispositivo durante o renderização.Um comportamento é comutador para um modo exclusivamente com modelo se qualquer modelo de dispositivo estiver definido e escolhido.O controle executa todas seu renderização usando modelos fornecidos.The List controle é um exemplo de como um controle. Como alternativa, um controle pode usar modelos em um processo puramente aditiva: Se um determinado modelo é definido e escolhido, ele pode ser usado para adicionar ou substituir parte de renderização padrão.The Form controle é um exemplo de um controle que exibe este comportamento.
Em vez de expor ITemplate Propriedades, um controle móvel tem acesso a uma coleção de modelos definidos. The MobileControl classe base possui dois membros que podem ajudar um controle usar modelos de dispositivo:
The IsTemplated propriedade indica se o controle tem quaisquer modelos definido e escolhido, sistema autônomo mostrado no exemplo de código a seguir.
if (mobileControl.IsTemplated) { return true; }
The GetTemplate método retorna o modelo de dispositivo do nome fornecido, ou null Se nenhum for definido. O exemplo a seguir mostra como modelos de dispositivo são recuperados e testados para null status.
public override void CreateDefaultTemplatedUI(bool doDataBind) { ITemplate headerTemplate = GetTemplate(Constants.HeaderTemplateTag); ITemplate footerTemplate = GetTemplate(Constants.FooterTemplateTag); ITemplate scriptTemplate = GetTemplate(Constants.ScriptTemplateTag); if (headerTemplate != null) { _headerContainer = new TemplateContainer(); headerTemplate.InstantiateIn(_headerContainer); _headerContainer.EnablePagination = false; Controls.AddAt(0, _headerContainer); } if (footerTemplate != null) { _footerContainer = new TemplateContainer(); footerTemplate.InstantiateIn(_footerContainer); _footerContainer.EnablePagination = false; Controls.Add(_footerContainer); } if (scriptTemplate != null) { _scriptContainer = new TemplateContainer(); scriptTemplate.InstantiateIn(_scriptContainer); _scriptContainer.EnablePagination = false; } }
A tabela a seguir descreve os modelos que estão disponível por meio de Form controle. The Form o controle suporta ambos os conjuntos de modelo específicos de dispositivos e independente de dispositivo.
Modelo |
Descrição |
---|---|
Modelo de cabeçalho |
O modelo de cabeçalho é renderizado na parte superior do formulário.Se o formulário seja paginado em diversas telas, cada tela contém o cabeçalho.O modelo de cabeçalho pode ser parte de um conjunto de modelos independente de dispositivo.Se o conjunto de modelos é independente de dispositivo, o modelo de cabeçalho contém os controles móveis. |
Modelo de rodapé |
O modelo de rodapé é renderizado na parte inferior do formulário.Se o formulário seja paginado em diversas telas, cada tela contém o rodapé.O modelo de rodapé pode ser parte de um conjunto de modelos independente de dispositivo.Se o conjunto de modelos é independente de dispositivo, o modelo de rodapé contém controles móveis. |
Modelo de script |
O modelo de script é processado na parte superior do formulário.Se o formulário seja paginado em diversas telas, cada tela contém o modelo de script.O código dentro do modelo de script é adicionado diretamente após a abertura <head> marca HTML dispositivos e diretamente após a abertura <card> marca em dispositivos WML. |
Esses modelos também estão disponível por meio de programação.Para obter mais informações, consulte o Footer propriedade, Header propriedade, e Script propriedade.
Consulte também
Conceitos
Conjuntos de modelo e modelos de controles
Implementando modelos renderização
Outros recursos
Adicionando adaptadores de dispositivo novo e suporte de dispositivo