XPathBinder.Eval 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在執行階段針對 IXPathNavigable 物件來剖析及評估 XPath 資料繫結運算式。
多載
Eval(Object, String) |
評估執行階段的 XPath 資料繫結運算式。 |
Eval(Object, String, String) |
在執行階段評估 XPath 資料繫結運算式,並將結果格式化成為文字,以顯示於提出要求的瀏覽器中。 |
Eval(Object, String, IXmlNamespaceResolver) |
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 XPath 資料繫結運算式,並將結果格式化成為文字,以顯示於要求的瀏覽器中。 |
Eval(Object, String, String, IXmlNamespaceResolver) |
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 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,從資料繫結運算式的評估產生。
例外狀況
container
或 xpath
參數為 null
。
由 container
所指定的物件不是 IXPathNavigable 物件。
範例
下列程式碼範例示範如何使用 XmlDataSource 控制項搭配樣板化 Repeater 控制項來顯示 XML 資料。 此範例有兩個部分:
顯示 XML 資料的Web Form頁面。
包含資料的 XML 檔案。
範例的第一個部分會顯示Web Form頁面,顯示透過 控制項存取的 XmlDataSource XML 資料。 Repeater控制項會使用簡化 Eval(Object, String) 的方法語法,系結至 XML 檔 XmlDataSource 內代表的資料項目。 它會使用 Select(Object, String) 方法來擷取 IEnumerable 清單,並將其指派為控制項的 Repeater 晚期繫結 DataSource 屬性。
<%@ 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 Form頁面中所顯示之資料的來源。
<?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 方法。 若要這樣做,您必須將 %# 和 % > 標籤放在 < 資料系結運算式周圍的標準 ASP.NET 資料系結中。
對於任何清單 ASP.NET 伺服器控制項,例如 DataList 、 DataGrid 或 Repeater , container
參數應該是 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,從資料繫結運算式評估和字串型別轉換產生。
例外狀況
container
或 xpath
參數為 null
。
由 container
所指定的物件不是 IXPathNavigable。
備註
若要深入瞭解.NET Framework中的格式字串,請參閱格式化類型。
如果您想要簡化 XML 節點轉換成要在瀏覽器中顯示的文字字串,則可以以宣告方式使用 Eval(Object, String) 方法。 若要這樣做,您必須將 %# 和 % > 標籤放在 < 資料系結運算式周圍的標準 ASP.NET 資料系結中。
對於任何清單 ASP.NET 伺服器控制項,例如 DataList 、 DataGrid 或 Repeater , container
參數應該是 Container.DataItem
。 如果您要對頁面進行系結,參數 container
應該是 Page
。
另請參閱
適用於
Eval(Object, String, IXmlNamespaceResolver)
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 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
IXmlNamespaceResolver 物件,用來解析 XPath 運算式中的命名空間前置詞。
傳回
Object,從資料繫結運算式的評估產生。
備註
如果您想要簡化 XML 節點轉換成要在瀏覽器中顯示的文字字串,則可以以宣告方式使用 Eval 方法。 若要這樣做,您必須將 %# 和 % > 標籤放在 < 資料系結運算式周圍的標準 ASP.NET 資料系結中。 資料系結運算式包含 XPath 運算式,以及 IXmlNamespaceResolver 解析命名空間參考的物件。
對於任何清單 ASP.NET 伺服器控制項,例如 DataList 、 DataGrid 或 Repeater , container
參數應該是 Container.DataItem
。 如果您要對頁面進行系結,參數 container
應該是 Page
。
適用於
Eval(Object, String, String, IXmlNamespaceResolver)
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 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
IXmlNamespaceResolver 物件,用來解析 XPath 運算式中的命名空間前置詞。
傳回
String,從資料繫結運算式評估和字串型別轉換產生。
備註
如果您想要簡化 XML 節點轉換成要在瀏覽器中顯示的文字字串,則可以以宣告方式使用 Eval 方法。 若要這樣做,您必須將 %# 和 % > 標籤放在 < 資料系結運算式周圍的標準 ASP.NET 資料系結中。 資料系結運算式包含 XPath 運算式,以及 IXmlNamespaceResolver 解析命名空間參考的物件。
對於任何清單 ASP.NET 伺服器控制項,例如 DataList 、 DataGrid 或 Repeater , container
參數應該是 Container.DataItem
。 如果您要對頁面進行系結,參數 container
應該是 Page
。