XPathBinder 类

定义

为应用程序快速开发 (RAD) 设计器提供支持,以便分析使用 XPath 表达式的数据绑定表达式。 此类不能被继承。

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
继承
XPathBinder

示例

下面的代码示例演示如何将控件与模板化Repeater控件一XmlDataSource起使用以显示 XML 数据。 此示例有两个部分:

  • 显示 XML 数据的Web Forms页。

  • 包含数据的 XML 文件。

本示例的第一部分显示了一个Web Forms页,该页显示通过控件访问的 XmlDataSource XML 数据。 Repeater控件使用简化Eval(Object, String)的方法语法绑定到表示的 XmlDataSource XML 文档中的数据项。 它使用 Select(Object, String) 该方法检索 IEnumerable 列表并将其指定为控件的后期绑定 DataSource 属性 Repeater

<%@ 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),该文件用作上面定义的Web Forms页中显示的数据的源。

<?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 方法绑定到针对实现 IXPathNavigable 接口的对象执行的 XPath 表达式的结果,例如 XmlNode。 可以使用该方法 Select 检索针对 IXPathNavigable 对象执行的 XPath 表达式的结果作为 IEnumerable 节点列表。 可以直接枚举此节点列表,也可以分配给 DataSource 列表控件的属性,例如 RepeaterDataList

在以声明方式使用 XPathBinder 方法时,可以使用简化的数据绑定语法版本。 ) 可以使用 () , xpath 而不是调用XPathBinder.Eval (Container.DataItem``xpathXPath 同样,可以使用XPathSelect xpath (Container.DataItem``xpath) 来检索一IEnumerable组节点,而不是调用XPathBinder.Select () 。 使用此简化的语法时,和EvalSelect方法假定默认Container.DataItem上下文对象。

有关数据绑定到 ASP.NET 服务器控件的详细信息,请参阅数据绑定表达式语法

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Eval(Object, String)

在运行时计算 XPath 数据绑定表达式。

Eval(Object, String, IXmlNamespaceResolver)

使用指定用来解析 XPath 表达式中的命名空间前缀的 IXmlNamespaceResolver 对象,在运行时评估 XPath 数据绑定表达式,并将结果格式化为文本以便显示在请求浏览器中。

Eval(Object, String, String)

在运行时计算 XPath 数据绑定表达式,并将结果格式化为要在请求浏览器中显示的文本。

Eval(Object, String, String, IXmlNamespaceResolver)

使用指定用来解析 XPath 表达式中的命名空间前缀的 IXmlNamespaceResolver 对象,在运行时评估 XPath 数据绑定表达式,并将结果格式化为文本以便显示在请求浏览器中。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Select(Object, String)

在运行时使用 XPath 数据绑定表达式来返回节点列表。

Select(Object, String, IXmlNamespaceResolver)

通过使用指定用来解析 XPath 表达式中的命名空间前缀的 IXmlNamespaceResolver,可以在运行时使用 XPath 数据绑定表达式来返回节点列表。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于