Sintaxis de expresiones de enlace de datos

Actualización: noviembre 2007

Las expresiones de enlace de datos crean enlaces entre una propiedad de control de servidor y un origen de datos cuando se llama al método DataBind en la página. Las expresiones de enlace de datos se pueden incluir en el lado del valor de un par de atributo y valor en la etiqueta de apertura de un control de servidor o en cualquier parte de la página.

<tagprefix:tagname property="<%# data-binding expression %>"
   runat="server" />
- or -
literal text <%# data-binding expression %>

Parámetros

  • property
    Propiedad del control para la que se declara el enlace de datos.

  • expresión de enlace de datos
    Cualquier expresión que se ajusta a los requisitos descritos en la sección Comentarios.

Comentarios

Todas las expresiones de enlace de datos deben ir incluidas entre los caracteres <%# y %>.

ASP.NET admite un modelo de enlace de datos jerárquico que crea enlaces entre las propiedades de los controles de servidor y los orígenes de datos. Casi todas las propiedades de controles de servidor se pueden enlazar a propiedades o campos públicos en la página contenedora o en el contenedor de nomenclatura inmediato del control de servidor.

Las expresiones de enlace de datos utilizan los métodos Eval y Bind para enlazar los datos a los controles y devolver los cambios a la base de datos. El método Eval es un método estático (de sólo lectura) que toma el valor de un campo de datos y lo devuelve como cadena. El método Bind admite la funcionalidad de lectura y escritura, con posibilidad de recuperar los valores de los controles enlazados a datos y devolver los cambios realizados a la base de datos.

Se puede establecer un enlace a los datos XML de un control XmlDataSource utilizando los métodos XPath y XPathSelect, así como la clase XPathBinder. Para obtener más información, vea Información general sobre el control de servidor web XmlDataSource.

Ejemplo

En el siguiente ejemplo de código se muestra cómo se enlazan datos a las propiedades de un control de servidor ASP.NET. Cuando un usuario selecciona un estado en el control de servidor Web DropDownList, el control de servidor Web Label se enlaza con el elemento seleccionado en la lista y muestra el estado seleccionado.

<html>
<head>
    <script language="C#" runat="server">
        void SubmitBtn_Click(Object sender, EventArgs e) {
          // Rather than explictly pulling out the variable from the StateList control
          // and then manipulating a Label control, just call Page.DataBind.
          // This will evaluate any <%# %> expressions within the page.   
          Page.DataBind();
        }
    </script>
</head>
<body>

    <h3><font face="Verdana">Binding to a property of another server control</font></h3>
    <form runat="server">
        <asp:DropDownList id="StateList" runat="server">
          <asp:ListItem>CA</asp:ListItem>
          <asp:ListItem>IN</asp:ListItem>
          <asp:ListItem>KS</asp:ListItem>
          <asp:ListItem>MD</asp:ListItem>
          <asp:ListItem>MI</asp:ListItem>
          <asp:ListItem>OR</asp:ListItem>
          <asp:ListItem>TN</asp:ListItem>
          <asp:ListItem>UT</asp:ListItem>
        </asp:DropDownList>       
        <asp:button Text="Submit" OnClick="SubmitBtn_Click" runat="server"/>        
        <p>     
        Selected State: <asp:label text='<%# StateList.SelectedItem.Text %>' runat="server"/>     
    </form>
</body>
</html>
<html>
<head>
    <script language="VB" runat="server">
         Sub SubmitBtn_Click(sender As Object, e As EventArgs)
            ' Rather than explictly pulling out the variable from the StateList control
            ' and then manipulating a Label control, just call Page.DataBind.
            ' This will evaluate any <%# %> expressions within the page.   
            Page.DataBind()
         End Sub
    </script>
</head>
<body>

    <h3><font face="Verdana"> Binding to a property of another server control</font></h3>
    <form runat="server">
        <asp:DropDownList id="StateList" runat="server">
          <asp:ListItem>CA</asp:ListItem>
          <asp:ListItem>IN</asp:ListItem>
          <asp:ListItem>KS</asp:ListItem>
          <asp:ListItem>MD</asp:ListItem>
          <asp:ListItem>MI</asp:ListItem>
          <asp:ListItem>OR</asp:ListItem>
          <asp:ListItem>TN</asp:ListItem>
          <asp:ListItem>UT</asp:ListItem>
        </asp:DropDownList>       
        <asp:button Text="Submit" OnClick="SubmitBtn_Click" runat="server"/>        
        <p>     
        Selected State: <asp:label text='<%# StateList.SelectedItem.Text %>' runat="server"/>     
    </form>
</body>
</html>

Vea también

Conceptos

Información general sobre las expresiones de enlace de datos

Introducción a páginas Web de ASP.NET

Información general sobre sintaxis de páginas web ASP.NET

Información general sobre el control de servidor web XmlDataSource

Referencia

XPathBinder