XPathBinder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce supporto per le finestre di progettazione di sviluppo rapido di applicazioni (RAD) per analizzare le espressioni di data binding che usano espressioni XPath. Questa classe non può essere ereditata.
public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
- Ereditarietà
-
XPathBinder
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare un XmlDataSource controllo con un controllo basato su Repeater modelli per visualizzare i dati XML. Questo esempio ha due parti:
Pagina Web Form che visualizza i dati XML.
File XML contenente i dati.
La prima parte dell'esempio mostra una pagina Web Form che visualizza i dati XML a cui si accede tramite un XmlDataSource controllo . Un Repeater controllo usa la sintassi semplificata Eval(Object, String) del metodo per l'associazione agli elementi di dati all'interno del documento XML rappresentato dall'oggetto XmlDataSource . Usa il Select(Object, String) metodo per recuperare un IEnumerable elenco e assegnarlo come proprietà ad associazione DataSource tardiva per il Repeater controllo.
<%@ 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>
Il secondo esempio fornisce il file XML, Order.xml, utilizzato come origine dei dati visualizzati nella pagina Web Form definita in precedenza.
<?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>
Commenti
È possibile utilizzare il metodo di Eval overload di questa classe per eseguire l'associazione al risultato di un'espressione XPath eseguita su un oggetto che implementa l'interfacciaIXPathNavigable, ad esempio .XmlNode È possibile utilizzare il Select metodo per recuperare i risultati di un'espressione XPath eseguita su un IXPathNavigable oggetto come IEnumerable elenco di nodi. Questo elenco di nodi può essere enumerato direttamente o assegnato alla DataSource proprietà di un controllo elenco, ad esempio o RepeaterDataList.
È possibile usare una versione semplificata della sintassi di data binding quando si usano i XPathBinder metodi in modo dichiarativo. Anziché chiamare XPathBinder.Eval(Container.DataItem, xpath) è possibile usare XPath(xpath). Analogamente, invece di chiamare XPathBinder.Select(Container.DataItem,xpath), è possibile usare XPathSelect(xpath) per recuperare un IEnumerable set di nodi. Quando si usa questa sintassi semplificata, i Eval metodi e Select presuppongono un oggetto contesto predefinito Container.DataItem .
Per altre informazioni sul data binding ai controlli server ASP.NET, vedere Data-Binding sintassi delle espressioni.
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Eval(Object, String, IXmlNamespaceResolver) |
Valuta le espressioni di data binding XPath in fase di esecuzione e formatta il risultato come testo da visualizzare nel browser richiedente, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi dello spazio dei nomi nell'espressione XPath. |
| Eval(Object, String, String, IXmlNamespaceResolver) |
Valuta le espressioni di data binding XPath in fase di esecuzione e formatta il risultato come testo da visualizzare nel browser richiedente, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi dello spazio dei nomi nell'espressione XPath. |
| Eval(Object, String, String) |
Valuta le espressioni di data binding XPath in fase di esecuzione e formatta il risultato come testo da visualizzare nel browser richiedente. |
| Eval(Object, String) |
Valuta le espressioni di data binding XPath in fase di esecuzione. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Select(Object, String, IXmlNamespaceResolver) |
Usa un'espressione di associazione dati XPath in fase di esecuzione per restituire un elenco di nodi, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi dello spazio dei nomi nell'espressione XPath. |
| Select(Object, String) |
Usa un'espressione di data binding XPath in fase di esecuzione per restituire un elenco di nodi. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |