Поделиться через


Синтаксис выражений привязки данных

Выражения привязки данных позволяют осуществлять привязку свойств серверных элементов управления к источникам данных путем вызова на странице метода DataBind. Выражения привязки данных можно использовать на стороне значения пары атрибут-значение в открывающем теге серверного элемента управления или же в любом месте страницы.

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

Параметры

  • property
    Свойство элемента управления, для которого объявляется привязка данных.

  • выражение привязки данных
    Любое выражение, удовлетворяющее требованиям, приведенным в разделе "Примечания".

Заметки

Все выражения привязки данных должны располагаться между символами <%# и %>.

В ASP.NET поддерживается иерархическая модель привязки данных, в которой создаются связи между свойствами серверного элемента управления и источниками данных. Почти любое свойство серверного элемента управления можно привязать к любому открытому полю или свойством на содержащей этот элемент странице или в непосредственном контейнере именования серверного элемента управления.

В выражениях привязки данных используются методы Eval и Bind, с помощью которых данные привязываются к элементам управления, а изменения записываются обратно в базу данных. Статический метод Eval, предназначенный только для чтения, принимает в качестве аргумента значение поля данных и возвращает его в виде строки. Метод Bind, поддерживающий чтение и запись, позволяет получать значения из элементов управления, привязанных к источникам данных, и записывать сделанные изменения обратно в базу данных.

Привязку к данным в формате XML из элемента управления XmlDataSource можно осуществить при помощи методов XPath и XPathSelect, а также класса XPathBinder. Дополнительные сведения см. в разделе Общие сведения о веб-серверном элементе управления XmlDataSource.

Пример

В следующем примере демонстрируется способ привязки данных к свойствам в серверном элементе управления ASP.NET. При выборе пользователем состояния в серверном веб-элементе управления DropDownList серверный веб-элемент управления Label связывается с выбранным элементом списка, и в нем отображается выбранное состояние.

<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>

См. также

Ссылки

XPathBinder

Основные понятия

Общие сведения о выражениях для привязки данных

Знакомство с программированием веб-страниц ASP.NET

Общие сведения о синтаксисе веб-страниц ASP.NET

Общие сведения о веб-серверном элементе управления XmlDataSource