XPathBinder Класс

Определение

Предоставляет поддержку для конструкторов быстрой разработки приложений (RAD) в синтаксическом анализе выражений привязки данных, использующих выражения XPath.Provides support for rapid application development (RAD) designers to parse data-binding expressions that use XPath expressions. Этот класс не наследуется.This class cannot be inherited.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Наследование
XPathBinder

Примеры

В следующем примере кода показано, как использовать XmlDataSource элемент управления с Repeater шаблонным элементом управления для отображения XML-данных.The following code example demonstrates how to use an XmlDataSource control with a templated Repeater control to display XML data. Этот пример состоит из двух частей:This example has two parts:

  • Страница веб-форм, на которой отображаются XML-данные.A Web Forms page that displays XML data.

  • XML-файл, содержащий данные.An XML file that contains the data.

В первой части примера показана страница веб-форм, которая отображает XML-данные, доступ XmlDataSource к которым осуществляется через элемент управления.The first part of the example shows a Web Forms page that displays XML data accessed through an XmlDataSource control. Элемент управления использует упрощенный Eval(Object, String) синтаксис метода для привязки к элементам данных внутри XML-документа, XmlDataSource который представляет. RepeaterA Repeater control uses simplified Eval(Object, String) method syntax to bind to data items within the XML document that the XmlDataSource represents. Он использует Select(Object, String) метод для IEnumerable получения списка и назначения его DataSource в качестве свойства с поздним связыванием для Repeater элемента управления.It uses the Select(Object, String) method to retrieve an IEnumerable list and assign it as a late-bound DataSource property for the Repeater control.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Order</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        XPath="orders/order"
        DataFile="order.xml" />

      <asp:Repeater ID="Repeater1"
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h2>Order</h2>
            <table>
              <tr>
                <td>Customer</td>
                <td><%#XPath("customer/@id")%></td>
                <td><%#XPath("customername/firstn")%></td>
                <td><%#XPath("customername/lastn")%></td>
              </tr>
              <tr>
                <td>Ship To</td>
                <td><%#XPath("shipaddress/address1")%></font></td>
                <td><%#XPath("shipaddress/city")%></td>
                <td><%#XPath("shipaddress/state")%>,
                    <%#XPath("shipaddress/zip")%></td>
              </tr>
            </table>
            <h3>Order Summary</h3>
            <asp:Repeater ID="Repeater2"
                 DataSource='<%#XPathSelect("summary/item")%>'
                 runat="server">
                <ItemTemplate>
                     <b><%#XPath("@dept")%></b> -
                         <%#XPath(".")%><br />
                </ItemTemplate>
            </asp:Repeater>
            <hr />
        </ItemTemplate>
    </asp:Repeater>

  </form>
  </body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Order</title>
</head>
<body> 
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        XPath="orders/order"
        DataFile="order.xml" />

      <asp:Repeater ID="Repeater1"
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h2>Order</h2>
            <table>
              <tr>
                <td>Customer</td>
                <td><%#XPath("customer/@id")%></td>
                <td><%#XPath("customername/firstn")%></td>
                <td><%#XPath("customername/lastn")%></td>
              </tr>
              <tr>
                <td>Ship To</td>
                <td><%#XPath("shipaddress/address1")%></font></td>
                <td><%#XPath("shipaddress/city")%></td>
                <td><%#XPath("shipaddress/state")%>,
                    <%#XPath("shipaddress/zip")%></td>
              </tr>
            </table>
            <h3>Order Summary</h3>
            <asp:Repeater ID="Repeater2"
                 DataSource='<%#XPathSelect("summary/item")%>'
                 runat="server">
                <ItemTemplate>
                     <b><%#XPath("@dept")%></b> -
                         <%#XPath(".")%><br />
                </ItemTemplate>
            </asp:Repeater>
            <hr />
        </ItemTemplate>
    </asp:Repeater>

  </form>
  </body>
</html>

Во втором примере представлен XML-файл Order. XML, который используется в качестве источника данных, отображаемых на странице веб-форм, определенной выше.The second example provides the XML file, Order.xml, that is used as the source of the data displayed in the Web Forms page defined above.

<?xml version="1.0" encoding="iso-8859-1"?>  
  <orders>  
    <order>  
      <customer id="12345" />  
      <customername>  
        <firstn>John</firstn>  
        <lastn>Doe</lastn>  
      </customername>  
      <transaction id="12345" />  
      <shipaddress>  
        <address1>1234 Tenth Avenue</address1>  
        <city>Bellevue</city>  
        <state>Washington</state>  
        <zip>98001</zip>  
      </shipaddress>  
      <summary>  
        <item dept="tools">screwdriver</item>  
        <item dept="tools">hammer</item>  
        <item dept="plumbing">fixture</item>  
      </summary>  
    </order>  
 </orders>  

Комментарии

Перегруженный Eval метод этого класса можно использовать для привязки к результату выражения XPath, выполняемого для объекта, IXPathNavigable реализующего XmlNodeинтерфейс, например.You can use the overloaded Eval method of this class to bind to the result of an XPath expression executed against an object that implements the IXPathNavigable interface, such as an XmlNode. Select Метод можно использовать для получения результатов выражения XPath, выполняемого IXPathNavigable для объекта в виде IEnumerable списка узлов.You can use the Select method to retrieve the results of an XPath expression executed against an IXPathNavigable object as an IEnumerable list of nodes. Этот список узлов можно перечислить напрямую или назначить свойству элемента DataSource управления "список", например Repeater или DataList.This list of nodes can be enumerated directly or assigned to the DataSource property of a list control, such as a Repeater or DataList.

При декларативном использовании XPathBinder методов можно использовать упрощенную версию синтаксиса привязки данных.You can use a simplified version of data-binding syntax when using the XPathBinder methods declaratively. Вместо вызова XPathBinder.Eval(Container.DataItem XPath, xpath) можно использовать(xpath).Instead of calling XPathBinder.Eval(Container.DataItem, xpath) you can use XPath(xpath). Аналогичным образом вместо вызова XPathBinder.Select(Container.DataItem,xpath) можно использовать XPathSelect(xpath) для получения IEnumerable набора узлов.Similarly, instead of calling XPathBinder.Select(Container.DataItem,xpath), you can use XPathSelect(xpath) to retrieve an IEnumerable set of nodes. При использовании этого упрощенного синтаксиса Eval методы Select и предполагают объект контекста Container.DataItem по умолчанию.When using this simplified syntax, the Eval and Select methods assume a default Container.DataItem context object.

Дополнительные сведения о привязке данных к серверным элементам управления ASP.NET см. в разделе синтаксис выражений привязки данных.For more information about data binding to ASP.NET server controls, see Data-Binding Expression Syntax.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Eval(Object, String)

Вычисляет XPath выражения привязки данных в период выполнения.Evaluates XPath data-binding expressions at run time.

Eval(Object, String, IXmlNamespaceResolver)

Вычисляет выражения XPath привязки данных в период выполнения и форматирует результат, как текст, отображаемый запрашивающим браузером, используя объект IXmlNamespaceResolver, заданный для разрешения префиксов пространства имен в выражении XPath.Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

Eval(Object, String, String)

Вычисляет выражение XPath привязки данных в период выполнения и формирует результат вычислений в виде текста, отображаемого в запрашивающем браузере.Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser.

Eval(Object, String, String, IXmlNamespaceResolver)

Вычисляет выражения XPath привязки данных в период выполнения и форматирует результат, как текст, отображаемый запрашивающим браузером, используя объект IXmlNamespaceResolver, заданный для разрешения префиксов пространства имен в выражении XPath.Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
Select(Object, String)

Использует выражение XPath привязки данных в период выполнения для возврата списка узлов.Uses an XPath data-binding expression at run time to return a list of nodes.

Select(Object, String, IXmlNamespaceResolver)

Вычисляет выражения XPath привязки данных в период выполнения для возврата списка узлов, используя объект IXmlNamespaceResolver, заданный для разрешения префиксов пространства имен в выражении XPath.Uses an XPath data-binding expression at run time to return a list of nodes, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к