Compartir a través de


Información general sobre los datos dinámicos de ASP.NET

Actualización: Julio de 2008

Los datos dinámicos de ASP.NET son un marco de trabajo que permite crear fácilmente aplicaciones web ASP.NET controladas por datos. Esto lo hacen detectando automáticamente los metadatos del modelo de datos en tiempo de ejecución y determinando el comportamiento de la interfaz de usuario según el modelo de datos. Un marco que incluye la técnica scaffolding proporciona un sitio web funcional para ver y modificar datos. Puede personalizar con facilidad el marco de scaffolding cambiando los elementos o creando otros nuevos para invalidar el comportamiento predeterminado. Las aplicaciones existentes pueden integrar con facilidad los elementos de scaffolding con las páginas ASP.NET.

Este tema contiene las siguientes secciones:

  • Introducción

  • Características

  • Información general

  • Referencia de clase

  • Información adicional

Características

Puede utilizar los datos dinámicos de ASP.NET para crear nuevos sitios web controlados por datos que requieren muy poco código y que aprovechan por completo las capacidades del marco de los datos dinámicos. También puede seleccionar capacidades de datos dinámicos específicas para agregar a los sitios web existentes.

Los datos dinámicos proporcionan las siguientes características:

Background

La naturaleza dinámica de los datos dinámicos radica en que pueden deducir el aspecto y el comportamiento de los campos de datos en tiempo de ejecución a partir del esquema de base de datos subyacente. Este mecanismo, junto con la disponibilidad de plantillas de página y de campo predeterminadas y muchas posibilidades de personalización, ofrece una variedad de opciones de diseño, incluidas las siguientes:

  • Crear un sitio web mediante scaffolding

  • Agregar datos dinámicos a un sitio web existente

  • Agregar lógica empresarial de validación de campos de datos.

  • Personalizar la interfaz de usuario que se representa para mostrar y modificar campos de datos concretos o una tabla concreta.

Modelo de datos

El modelo de datos representa la información que se encuentra en una base de datos y cómo se relacionan entre sí los elementos de la base de datos.

Los datos dinámicos admiten el modelo de datos de LINQ-to-SQL y de ADO.NET Entity Framework. Puede incluir varias instancias de modelos de datos en una aplicación web, pero los modelos que se utilizan en los datos dinámicos deben ser del mismo tipo.

El modelo o modelos de datos que se desean utilizar con los datos dinámicos se registran en el archivo Global.asax de la aplicación web. Una vez registrado un modelo de datos con los datos dinámicos, dicho modelo puede realizar la validación automática de campos de datos, y permite controlar el aspecto y comportamiento de los datos en la capa de los datos.

Scaffolding

Scaffolding es un mecanismo que mejora el marco de páginas ASP.NET existente mostrando dinámicamente páginas basadas en el modelo de datos. Scaffolding ofrece las siguientes funciones:

  • Poco o nada de código para crear una aplicación web controlada por datos.

  • Un tiempo de desarrollo rápido.

  • Una validación de datos integrada basada en el esquema de base de datos.

  • La selección automática de datos creada para cada clave externa o campo booleano.

Plantillas de la página

El mecanismo scaffolding de datos dinámicos utiliza plantillas de página para proporcionar una vista predeterminada de las tablas de datos. Las plantillas de página son páginas web ASP.NET que se configuran para mostrar datos de cualquier tabla que esté disponible para los datos dinámicos. Los datos dinámicos incluyen plantillas de página para diferentes vistas de datos, como enumerar una tabla (vista Lista), mostrar tablas maestras/de detalles (vista Detalles), editar los datos (vista Editar), etc. De forma predeterminada, los datos dinámicos están configurados para utilizar solo una plantilla de página de vista Lista. Puede cambiar la plantilla de página predeterminada o cambiar los datos dinámicos para que utilicen plantillas de página diferentes para fines diferentes. Para obtener más información, vea Infraestructura de datos dinámicos de ASP.NET.

Plantillas de campo

Los datos dinámicos utilizan plantillas de campo para representar la interfaz de usuario a fin de mostrar y modificar campos de datos individuales. Determina la plantilla de campo adecuada a partir de los tipos de campos de datos. Los datos dinámicos incluyen plantillas de campo independientes para mostrar y modificar campos de datos.

Por ejemplo, para un campo de datos DateTime los datos dinámicos utilizan las siguientes plantillas de campo:

  • DateTime.ascx. Esta plantilla muestra el tipo de datos DateTime como texto (una cadena) y lo representa como un control Literal.

  • DateTime_Edit.ascx. Esta plantilla representa un control TextBox. Si el campo de la base de datos no puede ser null o si el modelo de datos se ha personalizado para que solicite una entrada, este control también representará un control RequiredFieldValidator. La plantilla de campo DateTime_Edit.ascx proporciona un control DynamicValidator que administra cualquier excepción que produzca el modelo de datos. También admite la clase Regex.

Al crear un proyecto web de datos dinámicos, Visual Studio agrega una carpeta DynamicData\FieldTemplates al proyecto. Esta carpeta contiene las plantillas de campo predeterminadas.

Puede personalizar las plantillas de campo integradas o crear otras nuevas para especificar cómo se representan los campos de datos individuales. Por ejemplo, puede crear plantillas de campo que representen una interfaz de usuario para mostrar y modificar números de teléfono o direcciones de correo electrónico. Como otro ejemplo, puede crear plantillas de campo que representen una interfaz de usuario para utilizar medios alternativos (por ejemplo un control deslizante) para permitir que los usuarios especifiquen datos numéricos.

Mejorar los controles de datos existentes

Los datos dinámicos mejoran los controles de datos existentes para incluir el comportamiento dinámico de las maneras siguientes:

  • Los controles GridView y DetailsView pueden mostrar los datos dinámicamente utilizando las plantillas de datos dinámicos predefinidas en lugar de exigir que vuelva a crear el mismo marcado y código para los controles de datos en cada página. Puede personalizar estas plantillas para cambiar qué controles desea utilizar y cómo representar la interfaz de usuario para mostrar y modificar campos de datos. Esto permite realizar modificaciones en una ubicación y cambiar al aspecto y comportamiento de los controles de datos en la aplicación web. Esto es independiente de la tabla concreta, de modo que una plantilla de página se pueda utilizar para cualquier tabla de la base de datos. Para obtener más información, vea Cómo: Agregar comportamiento dinámico a controles enlazados a datos mediante DynamicField.

  • Los controles ListView y FormView pueden implementar un comportamiento similar al de los controles GridView y DetailsView utilizando un control DynamicControl en sus plantillas y especificando qué campo de la fila se desea mostrar. A continuación, los datos dinámicos construirán automáticamente la interfaz de usuario de estos controles, basada en las plantillas especificadas. Los controles DynamicControl no representan automáticamente la interfaz de usuario de ningún campo; debe enlazar los controles a un campo de datos concreto. Para obtener más información, vea Cómo: Usar datos dinámicos de ASP.NET en controles enlazados a datos con plantillas.

  • Los datos dinámicos examinan los metadatos del modelo de datos de un modelo de datos de LINQ-to-SQL o de Entity Framework y proporcionan una validación automática basada en los metadatos. Por ejemplo, si una columna de la base de datos está marcada como que no acepta valores NULL, se representa automáticamente un control RequiredFieldValidator para la columna. También puede aplicar metadatos personalizados para personalizar con más detalle cómo se representan y validan los campos de datos. Para obtener más información, vea Cómo: Personalizar la validación de campos de datos en el modelo de datos.

Referencia de clase

En la tabla siguiente se enumeran los espacios de nombres que contienen las clases de datos dinámicos de ASP.NET.

Espacio de nombres</ui>

Descripción

System.ComponentModel.DataAnnotations

Proporciona clases de atributo que se utilizan para definir metadatos para los controles de datos dinámicos.

System.Web.DynamicData

Contiene clases que proporcionan la funcionalidad básica de los datos dinámicos de ASP.NET. También proporciona características de extensibilidad para personalizar el comportamiento de los datos dinámicos.

Información adicional

Las sugerencias para la exploración adicional incluyen lo siguiente:

  • Entender el enrutamiento de direcciones URL. Para obtener más información, vea Enrutamiento de ASP.NET.

  • Entender la asignación relacional de objetos de LINQ-to-SQL. Para obtener más información, vea LINQ to SQL.

  • Entender ADO.NET Entity Framework. Para obtener más información, vea ADO.NET Entity Framework.

Volver al principio

Vea también

Tareas

Tutorial: Crear un nuevo sitio web de datos dinámicos con la técnica scaffolding

Tutorial: Agregar datos dinámicos a un sitio web existente

Conceptos

Infraestructura de datos dinámicos de ASP.NET

Información general sobre la plantilla de página y la técnica scaffolding de datos dinámicos de ASP.NET

Agregar comportamiento dinámico a los controles enlazados a datos de ASP.NET

Información general sobre las plantillas de campos de datos dinámicos de ASP.NET

Información general sobre el modelo de datos dinámicos de ASP.NET

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se ha agregado un tema.

Cambio de características de SP1.