Compartilhar via


Visão geral do ASP.NET dinâmico dados campo modelos

Modelos de campo de dados dinâmicos do ASP.NET são controles de usuário ASP.NET que mapeiam os controles de dados para tipos de dados em um modelo de dados.Modelos de campo derivam de FieldTemplateUserControl, a classe que permite o acesso a campos de dados, colunas de dados e metadados em modelos de dados. Projetos de dados dinâmicos fornecem alguns padrão modelos de campo por padrão, mas você pode modificá-los ou criar modelos de campo personalizado.Este tópico de visão geral aborda:

  • Recursos.

  • Plano de fundo.

  • Modelos de campo padrão.

  • Usando modelos de campo.

  • Como os modelos de campo são processados.

Recursos

  • Dados dinâmicos usa modelos de campo para processar os campos de dados individuais em um modelo de dados.

  • Dados dinâmicos permite que você:

    • Modifique os modelos de campo padrão.

    • Crie modelos de campo personalizado.

Segundo plano

Dados dinâmicos oferece suporte a aplicativos de Web controlados por dados.Comparado ao acesso a dados com controles de fonte de dados do ASP.NET e controles de dados existente, sistema autônomo a GridView e ListView controles de dados dinâmicos podem exigir substancialmente menos código. Por exemplo, a tabela Produtos no banco de dados Northwind tem chaves estrangeiras das tabelas Categorias e fornecedores.Exibir um Relação como essa usando o GridView ou ListView controle requer que você compreende o esquema de banco de dados e configurar manualmente os controles e possivelmente escreve código.

No entanto, lendo o esquema de banco de dados, dados dinâmicos pode obter informações sobre tipos de dados e chaves externas.Dados dinâmicos fornece ASP.NET controles de dados que reconhecem o esquema de banco de dados que estão configurados para tornar mais fácil para acessar e manipular dados.Para substituir o renderização padrão do GridView e DetailsView controles, você fornecer manualmente o código para o renderização em cada página. Campo modelos fornecem uma maneira mais simples de alterar o renderização padrão do GridView e DetailsView Controla globalmente.

Modelos de campo são usados em controles de dados dinâmicos para exibir campos de dados individuais.Dados dinâmicos usa modelos de campo padrão para criar o padrão de renderização para exibir e editar dados.Você pode personalizar os modelos de campo padrão ou criar novos.

Por exemplo, usando modelos de campo com a tabela Produtos no banco de dados Northwind, você pode exibir o nome de categoria em vez da ID da categoria, fornecer uma caixa de listagem drop-down no modo de edição e vincule a outras páginas, sistema autônomo sistema autônomo páginas de detalhe que mostram dados relacionados.

Para obter informações sobre como criar controles de dados avançados que estão ciente do esquema de banco de dados, consulte Adicionar comportamento dinâmico ao ASP.NET dados-limite Controls.

Dados dinâmicos de controles que modelos de uso campo

Dados controles dinâmicos que usam modelos para processar automaticamente os dados com base no tipo de dados arquivados incluem o seguinte:

Modelos de campo padrão

Modelos de campo padrão são modelos de campo que integram um aplicativo Web Dados Dinâmicos.Exemplos desses modelos de campo padrão:

ForeignKey.ascx — Exibe os campos que tenham um relação muitos para um.

ForeignKey_Edit.ascx — Usado para edição os campos que tenham um relação muitos para um.

DateTime.ascx — Exibe DateTime tipo de dados sistema autônomo texto.

Dados dinâmicos fornece modelos de campo que processam sistema autônomo tipos de dados, sistema autônomo booliano, decimal, inteiros e texto de padrão.

Para obter mais informações sobre modelos de campo padrão, consulte Modelos de campo dinâmico ASP.NET dados padrão.

Usando modelos de campo

Para implementar um modelo de campo obter valores do banco de dados e exibi-lo, obtenha o valor usando o IBindableControl.ExtractValues método e fornecer acesso à DataControl controle.

Dados dinâmicos permite que você personalize os modelos de campo padrão ou criar novos modelos de campo.Se você personalizar um modelo de campo padrão, dados dinâmicos usa os modelos de campo padrão personalizados.

Personalizando padrão como exibir dados de modelos de campo

Modelos de campo padrão são controles de usuário ASP.NET que são mapeados para tipos de dados em um modelo de dados.Esses controles são obtidos com o FieldTemplateUserControl classe, que permite o acesso aos campos de dados, colunas de banco de dados e metadados.

Você pode modificar os modelos de campo padrão para alterar como os controles de dados processam dados.Por exemplo, você pode alterar as cores de primeiro plano e plano de fundo de texto que é exibido em um controle de dados que usa os modelos de campo padrão.Para obter mais informações, consulte Como: Personalizar modelos de campo ASP.NET Dados Dinâmicos padrão.

Criando modelos de campo personalizado

Você também pode criar modelos de campo personalizado.Para fazer isso, você cria um controle de usuário ASP.NET que deriva do FieldTemplateUserControl classe. Adicionar um UIHint propriedade que mapeia o campo de dados para o novo controle que você criou, de forma que ele é usado no lugar do modelo de campo padrão.

Para obter mais informações sobre como criar um modelo de campo personalizado, consulte Como: Personalize a exibição de campo de dados no modelo de dados. Para obter informações sobre como usar o UIHint propriedade, consulte Como: Personalizar a aparência do campo de dados e o comportamento em um controle de dados dinâmicos.

Como modelos de campo são processados

Dados dinâmicos processa o padrão e modelos de campo personalizado no modo de inserção, edição e exibição.Dados dinâmicos usa regras de pesquisa para determinar qual modelo de campo para processar.A regra de pesquisa que usa dados dinâmicos depende se o controle no modo de inserção, edição ou exibição.Por exemplo, se os dados da coluna são um valor booliano e o controle de dados está no modo de exibição, dados dinâmicos apresenta booliano.ascx, o modelo de campo padrão que exibe os tipos de dados booliano.No entanto, se o controle de dados estiver no modo de edição, dados dinâmicos processa Boolean_Edit.ascx, o modelo de campo que permite a edição de tipos de dados booliano.Se o controle de dados estiver no modo de inserção, dados dinâmicos processa Boolean_Insert.ascx, o modelo de campo que permite aos usuários inserir tipos de dados booliano.

Se um campo de dados no modelo de dados possui um UIHint atributo associado a ele — ou seja, se for especificado um modelo de campo personalizado — dados dinâmicos procura um controle com base na UIHint nome. Por exemplo, se o UIHint atributo especifica MyTemplateDinâmico dados procura o modelo de campo chamado MyTemplate.ascx ou MyTemplate_Edit.ascx se o controle estiver em modo de edição ou MyTemplate_Insert.ascx se o controle estiver no modo de inserção. Se esses controles não forem encontrados, dados dinâmicos padrão os modelos de campo padrão.

Regras look-Up

Dados dinâmicos inicia a pesquisa, determinar o modo de modelos de campo.Para cada modo dados dinâmicos se aplica a um conjunto de regras de pesquisa.

Look-Up do modo de exibição

A seguir lista as regras de pesquisa de que dados dinâmicos usa para processar modelos de campo no modo de exibição:

  1. If a UIHint (isto é, se um modelo de campo personalizado) existe metadados, dados dinâmicos procura um controle com base no nome do controle de usuário e a DataTypeAttribute definidos o UIHint e DataTypeAttribute Propriedades. Dados dinâmicos não exibem todos os tipos de dados por padrão.Por exemplo, tipos de dados do byte [] sistema autônomo binário, carimbo de data/hora, tipos de imagens não são processados por padrão.Para obter mais informações sobre os tipos de dados por padrão, exibe dados dinâmicos, consulte Modelos de campo dinâmico ASP.NET dados padrão. Para obter informações sobre como exibir tipos de dados personalizados, consulte DataTypeAttribute.

  2. Dados dinâmicos determina o tipo de dados da coluna do banco de dados e procura um controle com base no tipo de dados.O nome do tipo de dados é determinado e usado em ordem a seguir:

    1. Pesquise o nome do tipo de dados completo, por exemplo, System.Int32.

    2. Se o nome completo do tipo não for encontrado, dados dinâmicos irá procurar o nome do tipo de dados simples, por exemplo, int32.

    3. Se o nome do tipo de dados simples não for encontrado, ele irá procurar os casos especiais definidos na tabela de dados.Por exemplo, se um tipo de dados simples, sistema autônomo Int32 não for encontrado, procura de dados dinâmicos Integer, caso especial definido na tabela de dados. Se os dados simples do tipo string não for encontrado, ele procura texto, caso especial para String.

    4. Se não for encontrado um caso especial e um tipo de dados fallback existe, ele procura um tipo de dados fallback.Dados dinâmicos usa o tipo de dados fallback para executar a pesquisa desde o início.

    5. Se não existir um tipo de dados fallback, dados dinâmicos não exibe todos os dados.

  3. Se o campo for um campo de chave estrangeira dados dinâmicos processa ForeignKey.ascx , o modelo de campo padrão usado para um relação muitos para um ou Children.ascx**,** o campo padrão usado para um relação um-para-muitos.

Se nenhum controle de modelo do campo for localizado, dados dinâmicos exibe uma mensagem de erro indicando que nenhum modelo de campo foi encontrado e nenhum dado será exibido.

modo de edição Look-Up

A aparência do modo edição regras é idêntica para as regras do modo de exibição, mas com a seguinte exceção.Se o modelo do campo estiver em modo de edição, dados dinâmicos procura por um modelo de campo "_Edit" (por exemplo, MyTemplate_Edit) e aplica as regras; caso contrário, o padrão será modo de exibição (somente leitura).

Inserir modo Look-Up

A aparência do modo edição regras é idêntica para as regras do modo de exibição, mas com a seguinte exceção.Se o modelo de campo estiver em modo de inserção, dados dinâmicos procura por um modelo de campo _Inserir (por exemplo, MyTemplate_Insert) e aplica as regras; caso contrário, ele procura um modelo de campo _Edit.

Observação:

_Inserir" .ascx "controles de usuário não são fornecidas por padrão.

Tipo de dados fallback

Tipo de dados

Decimal

Float, Double.

int

Int16, byte, Long.

String

Char, Int, decimal, GUID, DateTime, DateTimeOffset, TimeSpan.

Referência de Classe

Classe

Descrição

FieldTemplateUserControl

Classe base para todos os controles FieldTemplateUser.

Additional Topics

Adicionar comportamento dinâmico ao ASP.NET dados-limite Controls

Visão geral sobre modelos de página e scaffolding de dados dinâmicos do ASP.NET