Syntaxe d'expression de liaison de données
Mise à jour : novembre 2007
Les expressions de liaison de données créent des liaisons entre une propriété de contrôle serveur et une source de données lors de l'appel de la méthode DataBind dans la page. Vous pouvez inclure des expressions de liaison de données du côté valeur d'une paire attribut/valeur dans la balise d'ouverture d'un contrôle serveur ou à un emplacement quelconque de la page.
<tagprefix:tagname property="<%# data-binding expression %>"
runat="server" />
- or -
literal text <%# data-binding expression %>
Paramètres
property
Propriété de contrôle pour laquelle cette liaison de données est déclarée.Expression de liaison de données
Toute expression qui respecte les conditions requises décrites dans la section Notes.
Notes
Toutes les expressions de liaison de données doivent être placées entre des caractères <%# et %>.
ASP.NET prend en charge un modèle de liaison de données hiérarchique qui crée des liaisons entre les propriétés de contrôle serveur et les sources de données. Il est possible de lier la plupart des propriétés de contrôle serveur à un champ public ou à une propriété de la page conteneur ou du conteneur d'attribution de noms direct du contrôle serveur.
Les expressions de liaison de données utilisent les méthodes Eval et Bind pour lier des données aux contrôles et renvoyer les modifications à la base de données. La méthode Eval est une méthode statique (en lecture seule) qui prend la valeur d'un champ de données et la retourne sous forme de chaîne. La méthode Bind prend en charge les fonctionnalités de lecture/écriture avec la possibilité de récupérer les valeurs des contrôles liés aux données et de renvoyer toutes les modifications apportées à la base de données.
Vous pouvez créer une liaison aux données XML d'un contrôle XmlDataSource à l'aide des méthodes XPath et XPathSelect et de la classe XPathBinder. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web XmlDataSource.
Exemple
L'exemple de code suivant montre comment lier des données aux propriétés d'un contrôle serveur ASP.NET. Lorsqu'un utilisateur sélectionne un état dans le contrôle serveur Web DropDownList, le contrôle serveur Web Label est lié à l'élément sélectionné dans la liste et affiche l'état sélectionné.
<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>
Voir aussi
Concepts
Vue d'ensemble des expressions de liaison de données
Introduction aux pages Web ASP.NET
Vue d'ensemble de la syntaxe des pages Web ASP.NET
Vue d'ensemble du contrôle serveur Web XmlDataSource