Bagikan melalui


XPathBinder Kelas

Definisi

Menyediakan dukungan bagi desainer pengembangan aplikasi cepat (RAD) untuk mengurai ekspresi pengikatan data yang menggunakan ekspresi XPath. Kelas ini tidak dapat diwariskan.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Warisan
XPathBinder

Contoh

Contoh kode berikut menunjukkan cara menggunakan XmlDataSource kontrol dengan kontrol templat Repeater untuk menampilkan data XML. Contoh ini memiliki dua bagian:

  • Halaman Formulir Web yang menampilkan data XML.

  • File XML yang berisi data.

Bagian pertama dari contoh memperlihatkan halaman Formulir Web yang menampilkan data XML yang diakses melalui XmlDataSource kontrol. Repeater Kontrol menggunakan sintaks metode yang disederhanakan Eval(Object, String) untuk mengikat item data dalam dokumen XML yang diwakiliXmlDataSource. Ini menggunakan Select(Object, String) metode untuk mengambil IEnumerable daftar dan menetapkannya sebagai properti yang terlambat terikat DataSource untuk Repeater kontrol.

<%@ 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>

Contoh kedua menyediakan file XML, Order.xml, yang digunakan sebagai sumber data yang ditampilkan di halaman Formulir Web yang ditentukan di atas.

<?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>

Keterangan

Anda dapat menggunakan metode kelas ini yang kelebihan beban Eval untuk mengikat hasil ekspresi XPath yang dijalankan terhadap objek yang mengimplementasikan IXPathNavigable antarmuka, seperti XmlNode. Anda dapat menggunakan Select metode untuk mengambil hasil ekspresi XPath yang IXPathNavigable dijalankan terhadap objek sebagai IEnumerable daftar simpul. Daftar simpul ini dapat dijumlahkan secara langsung atau ditetapkan ke DataSource properti kontrol daftar, seperti Repeater atau DataList.

Anda dapat menggunakan versi sintaks pengikatan data yang disederhanakan saat menggunakan XPathBinder metode secara deklaratif. Alih-alih memanggil XPathBinder.Eval(Container.DataItem, xpath) Anda dapat menggunakan XPath(xpath). Demikian pula, alih-alih memanggil XPathBinder.Select(Container.DataItem,xpath), Anda dapat menggunakan XPathSelect(xpath) untuk mengambil sekumpulan IEnumerable simpul. Saat menggunakan sintaks yang disederhanakan Eval ini, metode dan Select mengasumsikan objek konteks default Container.DataItem .

Untuk informasi selengkapnya tentang pengikatan data ke kontrol server ASP.NET, lihat Sintaks EkspresiData-Binding.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Eval(Object, String, IXmlNamespaceResolver)

Mengevaluasi ekspresi pengikatan data XPath pada waktu proses dan memformat hasilnya sebagai teks yang akan ditampilkan di browser yang meminta, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace dalam ekspresi XPath.

Eval(Object, String, String, IXmlNamespaceResolver)

Mengevaluasi ekspresi pengikatan data XPath pada waktu proses dan memformat hasilnya sebagai teks yang akan ditampilkan di browser yang meminta, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace dalam ekspresi XPath.

Eval(Object, String, String)

Mengevaluasi ekspresi pengikatan data XPath pada waktu proses dan memformat hasilnya sebagai teks yang akan ditampilkan di browser yang meminta.

Eval(Object, String)

Mengevaluasi ekspresi pengikatan data XPath pada waktu proses.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Select(Object, String, IXmlNamespaceResolver)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace layanan dalam ekspresi XPath.

Select(Object, String)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk