XPathBinder.Eval 方法

定义

在运行时对 IXPathNavigable 对象分析和计算 XPath 数据绑定表达式。

重载

Eval(Object, String)

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

Eval(Object, String, String)

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

Eval(Object, String, IXmlNamespaceResolver)

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

Eval(Object, String, String, IXmlNamespaceResolver)

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

Eval(Object, String)

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

public:
 static System::Object ^ Eval(System::Object ^ container, System::String ^ xPath);
public static object Eval (object container, string xPath);
static member Eval : obj * string -> obj
Public Shared Function Eval (container As Object, xPath As String) As Object

参数

container
Object

计算表达式所根据的 IXPathNavigable 对象引用。 此标识符必须是以页的指定语言表示的有效对象标识符。

xPath
String

container 到放置在绑定控件属性中的属性值的 XPath 查询。

返回

Object

一个 Object,它是数据绑定表达式的计算结果。

例外

containerxpath 参数为 null

container 指定的对象不是 IXPathNavigable 对象。

示例

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

  • 显示 XML 数据的Web Forms页。

  • 包含数据的 XML 文件。

本示例的第一部分显示了一个Web Forms页,该页显示通过控件访问的 XmlDataSource XML 数据。 控件 Repeater 使用简化 Eval(Object, String) 的方法语法绑定到表示的 XML 文档中 XmlDataSource 的数据项。 它使用 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>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        DataFile="bookstore2.xml"
        XPath="bookstore/genre[@name='fiction']" />

      <asp:Repeater
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h1><%# XPath ("book/title") %></h1>
            <b>Author:</b>
            <%# XPath ("book/author/firstname") %>
            <%# XPath ("book/author/lastname") %>
            <asp:Repeater
                 DataSource='<%# XPathSelect ("book/chapters") %>'
                 runat="server">
                <ItemTemplate>
                     <%# XPath ("chapter/@name") %>
                </ItemTemplate>
            </asp:Repeater>
        </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>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        DataFile="bookstore2.xml"
        XPath="bookstore/genre[@name='fiction']" />

      <asp:Repeater
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h1><%# XPath ("book/title") %></h1>
            <b>Author:</b>
            <%# XPath ("book/author/firstname") %>
            <%# XPath ("book/author/lastname") %>
            <asp:Repeater
                 DataSource='<%# XPathSelect ("book/chapters") %>'
                 runat="server">
                <ItemTemplate>
                     <%# XPath ("chapter/@name") %>
                </ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>
  </form>
  </body>
</html>

第二个示例提供 XML 文件(Bookstore2.xml),该文件用作上面定义的Web Forms页中显示的数据的源。

<?xml version="1.0" encoding="iso-8859-1"?>  
  <bookstore>  
    <genre name="fiction">  
      <book ISBN="10-861003-324">  
        <author>  
          <firstname>test</firstname>  
          <lastname>test2</lastname>  
        </author>  
        <title>The Handmaid's Tale</title>  
        <price>12.95</price>  
        <chapters>  
          <chapter num="1" name="Introduction" />   
          <chapter num="2" name="Body" />   
          <chapter num="3" name="Conclusion" />  
        </chapters>  
      </book>  
    </genre>  
    <genre name="nonfiction">  
      <book genre="nonfiction" ISBN="1-861001-57-5">  
        <author>  
          <firstname>test3</firstname>  
          <lastname>test4</lastname>  
        </author>      
        <title>Pride And Prejudice</title>  
        <price>24.95</price>  
        <chapters>  
          <chapter num="1" name="Introduction" />   
          <chapter num="2" name="Body" />  
          <chapter num="3" name="Conclusion" />  
        </chapters>  
      </book>  
    </genre>  
  </bookstore>  

注解

如果要简化 XML 节点转换为要在浏览器中显示的文本字符串,则可以以声明方式使用 Eval 该方法。 为此,必须在数据绑定表达式周围放置<%# and %>标准 ASP.NET 数据绑定中使用的标记。

对于任何列表 ASP.NET 服务器控件,例如DataListDataGridcontainerRepeater参数应为 Container.DataItem。 如果对页面绑定,则 container 参数应为 Page

另请参阅

适用于

Eval(Object, String, String)

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

public:
 static System::String ^ Eval(System::Object ^ container, System::String ^ xPath, System::String ^ format);
public static string Eval (object container, string xPath, string format);
static member Eval : obj * string * string -> string
Public Shared Function Eval (container As Object, xPath As String, format As String) As String

参数

container
Object

计算表达式所根据的 IXPathNavigable 对象引用。 此标识符必须是以页的指定语言表示的有效对象标识符。

xPath
String

container 到要放置在绑定控件属性中的属性值的 XPath 查询。

format
String

.NET Framework 格式字符串,类似于 Format(String, Object) 所用的字符串,可以将 IXPathNavigable 对象(是数据绑定表达式的计算结果)转换为可由请求浏览器显示的 String

返回

String

String,通过计算数据绑定表达式并转换为字符串类型得出。

例外

containerxpath 参数为 null

container 指定的对象不是 IXPathNavigable

注解

若要详细了解.NET Framework中的格式字符串,请参阅格式设置类型

如果要将 XML 节点转换为要在浏览器中显示的文本字符串,则可以以声明方式使用 Eval(Object, String) 该方法。 为此,必须在数据绑定表达式周围放置<%# and %>标准 ASP.NET 数据绑定中使用的标记。

对于任何列表 ASP.NET 服务器控件,例如DataListDataGridcontainerRepeater参数应为 Container.DataItem。 如果对页面绑定,则 container 参数应为 Page

另请参阅

适用于

Eval(Object, String, IXmlNamespaceResolver)

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

public:
 static System::Object ^ Eval(System::Object ^ container, System::String ^ xPath, System::Xml::IXmlNamespaceResolver ^ resolver);
public static object Eval (object container, string xPath, System.Xml.IXmlNamespaceResolver resolver);
static member Eval : obj * string * System.Xml.IXmlNamespaceResolver -> obj
Public Shared Function Eval (container As Object, xPath As String, resolver As IXmlNamespaceResolver) As Object

参数

container
Object

计算表达式所根据的 IXPathNavigable 对象引用。 此标识符必须是以页的指定语言表示的有效对象标识符。

xPath
String

container 到要放置在绑定控件属性中的属性值的 XPath 查询。

resolver
IXmlNamespaceResolver

用来解析 XPath 表达式中的命名空间前缀的 IXmlNamespaceResolver 对象。

返回

Object

Object,它是数据绑定表达式的计算结果。

注解

如果要将 XML 节点转换为要在浏览器中显示的文本字符串,则可以以声明方式使用 Eval 该方法。 为此,必须在数据绑定表达式周围放置<%# and %>标准 ASP.NET 数据绑定中使用的标记。 数据绑定表达式包括 XPath 表达式和用于 IXmlNamespaceResolver 解析命名空间引用的对象。

对于任何列表 ASP.NET 服务器控件,例如DataListDataGridcontainerRepeater参数应为 Container.DataItem。 如果对页面绑定,则 container 参数应为 Page

适用于

Eval(Object, String, String, IXmlNamespaceResolver)

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

public:
 static System::String ^ Eval(System::Object ^ container, System::String ^ xPath, System::String ^ format, System::Xml::IXmlNamespaceResolver ^ resolver);
public static string Eval (object container, string xPath, string format, System.Xml.IXmlNamespaceResolver resolver);
static member Eval : obj * string * string * System.Xml.IXmlNamespaceResolver -> string
Public Shared Function Eval (container As Object, xPath As String, format As String, resolver As IXmlNamespaceResolver) As String

参数

container
Object

计算表达式所根据的 IXPathNavigable 对象引用。 此标识符必须是以页的指定语言表示的有效对象标识符。

xPath
String

container 到要放置在绑定控件属性中的属性值的 XPath 查询。

format
String

.NET Framework 格式字符串,类似于 Format(String, Object) 所用的字符串,可以将 IXPathNavigable 对象(是数据绑定表达式的计算结果)转换为可由请求浏览器显示的 String

resolver
IXmlNamespaceResolver

用来解析 XPath 表达式中的命名空间前缀的 IXmlNamespaceResolver 对象。

返回

String

String,通过计算数据绑定表达式并转换为字符串类型得出。

注解

如果要将 XML 节点转换为要在浏览器中显示的文本字符串,则可以以声明方式使用 Eval 该方法。 为此,必须在数据绑定表达式周围放置<%# and %>标准 ASP.NET 数据绑定中使用的标记。 数据绑定表达式包括 XPath 表达式和用于 IXmlNamespaceResolver 解析命名空间引用的对象。

对于任何列表 ASP.NET 服务器控件,例如DataListDataGridcontainerRepeater参数应为 Container.DataItem。 如果对页面绑定,则 container 参数应为 Page

适用于