ASP.NET 2.0: Enlace a datos. El método Bind
Para los que habéis empezado a desarrollar con ASP.NET 2.0 y los que lleváis desarrollando mucho tiempo con las otras versiones de ASP.NET, por lo menos yo, echaba de menos en aquellas versiones lo que se denomina Two Way DataBinding (Aunque en versiones anteriores de ASP.NET se podía lograr (Implementing two-way Data Bindingfor ASP.Net Web Forms) que no deja de ser un enlace de un control con una fuente de datos en ambos sentidos (Lectura/Actualización)
En ASP.NET 1.0/1.1, la clase DataBinder nos facilita el método estático Eval, con el cual podemos acceder a los datos de manera simple cuando utilizamos plantillas, pero tiene un problema, sólo permite acceso de sólo lectura (One-Way Binding). A modo de curiosidad, este método utiliza Reflection para ejecutar una búsqueda en la propidad DataItem, mirando en los metadatos almacenados en los tipos de la assembly. Una vez que los metadatos son recuperados se encarga de enlazarlos con el control que se ha especificado.
Un ejemplo:
<%# Eval("Idempleado") %>
Ademas el método Eval contiene una sobrecarga que nos permite formatear el dato:
<%# Eval("sueldo", "{0:C}") %>
Para solucionar este problema, la gente de Microsoft ha añadido el método Bind, que permite el famoso Two Way DataBinding (Valgamé la redundancia) pero los únicos controles que permiten el uso de Bind son:
- GridView
- DetailsView
- FormView
También está sobrecargado como Eval y permite formatear los datos.
<%# Bind("Idempleado") %>
<%# Bind("sueldo", "{0:C}") %>
Nota: Un control que es enlazado a una fuente de datos mediante el método Bind es obligatorio establecer su propiedad ID.
Salu2