XPathBinder Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ger stöd för snabb programutveckling (RAD) designers för att parsa databindningsuttryck som använder XPath-uttryck. Det går inte att ärva den här klassen.
public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
- Arv
-
XPathBinder
Exempel
Följande kodexempel visar hur du använder en XmlDataSource kontroll med en mallbaserad Repeater kontroll för att visa XML-data. Det här exemplet har två delar:
En webbformulärsida som visar XML-data.
En XML-fil som innehåller data.
Den första delen av exemplet visar en webbformulärsida som visar XML-data som nås via en XmlDataSource kontroll. En Repeater kontroll använder förenklad Eval(Object, String) metodsyntax för att binda till dataobjekt i XML-dokumentet som XmlDataSource representerar. Den använder Select(Object, String) metoden för att hämta en IEnumerable lista och tilldela den som en sen bindningsegenskap DataSource för Repeater kontrollen.
<%@ 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>
Det andra exemplet innehåller XML-filen, Order.xml, som används som källa för de data som visas på sidan Webbformulär som definierats ovan.
<?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>
Kommentarer
Du kan använda den överlagrade Eval metoden för den här klassen för att binda till resultatet av ett XPath-uttryck som körs mot ett objekt som implementerar IXPathNavigable gränssnittet, till exempel ett XmlNode. Du kan använda Select metoden för att hämta resultatet av ett XPath-uttryck som körs mot ett IXPathNavigable objekt som en IEnumerable lista över noder. Den här listan med noder kan räknas upp direkt eller tilldelas egenskapen för DataSource en listkontroll, till exempel en Repeater eller DataList.
Du kan använda en förenklad version av databindningssyntax när XPathBinder du använder metoderna deklarativt. I stället för att anropa XPathBinder.Eval(Container.DataItem, xpath) kan du använda XPath(xpath). På samma sätt kan du i stället för att anropa XPathBinder.Select(Container.DataItem,xpath) använda XPathSelect(xpath) för att hämta en IEnumerable uppsättning noder. När du använder den här förenklade syntaxen Eval förutsätter metoderna och Select ett standardkontextobjekt Container.DataItem .
Mer information om databindning till ASP.NET serverkontroller finns i Data-Binding Expression Syntax.
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Eval(Object, String, IXmlNamespaceResolver) |
Utvärderar XPath-databindningsuttryck vid körning och formaterar resultatet som text som ska visas i den begärande webbläsaren med hjälp av det IXmlNamespaceResolver angivna objektet för att matcha namnområdesprefix i XPath-uttrycket. |
| Eval(Object, String, String, IXmlNamespaceResolver) |
Utvärderar XPath-databindningsuttryck vid körning och formaterar resultatet som text som ska visas i den begärande webbläsaren med hjälp av det IXmlNamespaceResolver angivna objektet för att matcha namnområdesprefix i XPath-uttrycket. |
| Eval(Object, String, String) |
Utvärderar XPath-databindningsuttryck vid körning och formaterar resultatet som text som ska visas i den begärande webbläsaren. |
| Eval(Object, String) |
Utvärderar XPath-databindningsuttryck vid körning. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Select(Object, String, IXmlNamespaceResolver) |
Använder ett XPath-databindningsuttryck vid körning för att returnera en lista över noder med hjälp av det IXmlNamespaceResolver angivna objektet för att matcha namnområdesprefix i XPath-uttrycket. |
| Select(Object, String) |
Använder ett XPath-databindningsuttryck vid körning för att returnera en lista över noder. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |