Cómo: Enlazar controles web a EntityDataSource
Actualización: noviembre 2007
Los controles de servidor web ListView, FormView, GridView y DetailsView proporcionan la funcionalidad de lectura, inserción, actualización y eliminación automática cuando se utilizan con un control EntityDataSource. Puede configurar con facilidad los elementos HTML en la superficie de diseño de estos controles y enlazarlos a datos al control EntityDataSource.
Enlazar controles de servidor web con un EntityDataSource
Los controles ListView, FormView, GridView y DetailsView son muy similares en su diseño. Enlace uno de estos controles de servidor web al control EntityDataSource realizando los pasos siguientes:
Cree una aplicación web ASP.NET.
Configure el proyecto para que utilice Entity Framework, defina Entity Data Model (EDM) en el proyecto y vuelva a generarlo. Para obtener más información, vea Cómo: Usar el Asistente para Entity Data Model (Entity Framework).
Arrastre el control a la superficie de diseño de la página web.
Configure el control EntityDataSource. Para obtener más información, vea Configurar el control EntityDataSource.
Configure el control para que utilice el control EntityDataSource.
Nota: |
---|
Debido a una limitación de los diseñadores de controles de servidor web al administrar las propiedades de navegación de un objeto de entidad, debe modificar manualmente la página de código subyacente para quitar los corchetes de los nombres de propiedad de navegación de las plantillas de elementos. |
El procedimiento siguiente crea un control ListView que está enlazado a un control EntityDataSource. Para completar este procedimiento, debe haber configurado ya Entity Framework y haber definido el modelo de ventas de AdventureWorks. Para obtener más información, vea Cómo: Usar el Asistente para Entity Data Model (Entity Framework).
Para crear un control ListView que está enlazado a un EntityDataSource:
Genere el proyecto y el modelo de datos.
Arrastre una instancia del control ListView a la superficie de diseño.
Haga clic en el símbolo > en el control ListView y seleccione Elegir origen de datos.
Seleccione <Nuevo origen de datos> en la lista desplegable.
Cuando aparezca el Asistente para la configuración de orígenes de datos, seleccione Entidad y especifique SalesOrderHeaderDataSource como el nombre del origen de datos y, a continuación, haga clic en Aceptar.
Seleccione AdventureWorksEntities como la Conexión con nombre y DefaultContainerName y, a continuación, haga clic en Siguiente.
Seleccione SalesOrderHeader en el cuadro de lista desplegable EntitySetName, deje activada la casilla Seleccionar todo (valor de entidad) y active las casillas de inserción, actualización y eliminación automática.
Haga clic en Finalizar.
Esto crea una nueva instancia del control ListView que está enlazada a una instancia del control EntityDataSource denominada EntityDataSource1.
En la página Propiedades de SalesOrderHeaderDataSource, busque la propiedad Include y agregue la siguiente cadena:
Address, Address1, Contact
Así se asegura de que para cada objeto SalesOrderHeader que devuelve una consulta, ésta también devolverá los objetos Contact y Address relacionados. Para obtener más información, vea Definir rutas de consulta (EntityDataSource).
Haga clic en la opción Configurar ListView en el cuadro Tareas de ListView.
Active las casillas Habilitar edición, Habilitar inserción, Habilitar eliminación y Habilitar paginación.
Haga clic en Aceptar.
Nota: En este punto, la aplicación debería poder ejecutarse. Sin embargo, los pasos siguientes son necesarios debido a una limitación de los diseñadores de controles de servidor web al administrar las propiedades de navegación de un objeto de entidad.
Abra el archivo Default.aspx en la vista Código fuente.
Busque y quite los corchetes [ ] que encierran todas las instancias de Address.AddressID, Address1.AddressID y Contact.ID. Estos tipos se buscarán en todas las apariciones de las funciones Bind y Eval en ItemTemplate e InsertItemTemplate.
Vuelva a generar el proyecto y ejecute la aplicación.
Vea también
Conceptos
Ejemplo de tutorial rápido de EntityDataSource
Información general sobre los controles de servidor Web ASP.NET enlazados a datos