XPathBinder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供對快速應用程式開發 (RAD) 設計工具的支援,以剖析使用 XPath 運算式的資料繫結運算式。 此類別無法獲得繼承。
public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
- 繼承
-
XPathBinder
範例
下列程式碼範例示範如何使用 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>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 Form頁面中所顯示之資料的來源。
<?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
清單控制項的 屬性,例如 Repeater 或 DataList 。
使用宣告式方法時 XPathBinder ,您可以使用簡化的資料系結語法版本。 您可以使用 () , XPath
xpath
xpath
而不是呼叫 XPathBinder.Eval
(Container.DataItem
) 。 同樣地,您可以使用 XPathSelect
xpath
(Container.DataItem
xpath
) 來擷取一 IEnumerable 組節點,而不是呼叫 XPathBinder.Select
() 。 使用這個簡化的語法時, Eval 和 Select 方法會假設預設 Container.DataItem
內容物件。
如需資料系結至 ASP.NET 伺服器控制項的詳細資訊,請參閱資料系結運算式語法。
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Eval(Object, String) |
評估執行階段的 XPath 資料繫結運算式。 |
Eval(Object, String, IXmlNamespaceResolver) |
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 XPath 資料繫結運算式,並將結果格式化成為文字,以顯示於要求的瀏覽器中。 |
Eval(Object, String, String) |
在執行階段評估 XPath 資料繫結運算式,並將結果格式化成為文字,以顯示於提出要求的瀏覽器中。 |
Eval(Object, String, String, IXmlNamespaceResolver) |
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段評估 XPath 資料繫結運算式,並將結果格式化成為文字,以顯示於要求的瀏覽器中。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Select(Object, String) |
在執行階段使用 XPath 資料繫結運算式,以傳回節點清單。 |
Select(Object, String, IXmlNamespaceResolver) |
透過使用 IXmlNamespaceResolver 物件 (指定用於解析 XPath 運算式中的命名空間前置詞),在執行階段使用 XPath 資料繫結運算式,以傳回節點清單。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |