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:
Scaffolding web que puede ejecutar una aplicación web que está basada en la lectura del esquema de base de datos subyacente. Scaffolding de datos dinámicos puede generar una interfaz de usuario estándar a partir del modelo de datos.
Operaciones de acceso a datos completas (crear, actualizar, quitar, mostrar), operaciones relacionales y validación de datos.
Compatibilidad automática para las relaciones de clave externa. Los datos dinámicos detectan las relaciones entre las tablas y crean una interfaz de usuario hace facilita que los usuarios vean los datos de las tablas relacionadas. Para obtener más información, vea Tutorial: Crear un nuevo sitio web de datos dinámicos con la técnica scaffolding.
La capacidad de personalizar la interfaz de usuario que se representa para mostrar y modificar campos de datos concretos. Para obtener más información, vea Cómo: Personalizar las plantillas de campos predeterminados de datos dinámicos de ASP.NET y Cómo: Personalizar la apariencia y el comportamiento de los campos de datos en el modelo de datos.
La capacidad de personalizar la interfaz de usuario que se representa para mostrar y modificar los campos de datos de una tabla específica. Para obtener más información, vea Cómo: Personalizar el diseño de una tabla individual mediante una plantilla de página personalizada.
La capacidad de personalizar la validación de campos de datos. Esto permite mantener la lógica empresarial en la capa de los datos sin implicar a la capa de presentación. Para obtener más información, vea Cómo: Personalizar la validación de campos de datos en el modelo de datos.
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 |
---|---|
Proporciona clases de atributo que se utilizan para definir metadatos para los controles de datos dinámicos. |
|
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
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. |