Aracılığıyla paylaş


XPathBinder Sınıf

Tanım

XPath ifadelerini kullanan veri bağlama ifadelerini ayrıştırmak için hızlı uygulama geliştirme (RAD) tasarımcıları için destek sağlar. Bu sınıf devralınamaz.

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

Örnekler

Aşağıdaki kod örneği, XML verilerini görüntülemek için bir denetimin şablonlu Repeater denetimle nasıl kullanılacağını XmlDataSource gösterir. Bu örnekte iki bölüm vardır:

  • XML verilerini görüntüleyen bir Web Forms sayfası.

  • Verileri içeren bir XML dosyası.

Örneğin ilk bölümünde, denetim aracılığıyla erişilen XML verilerini görüntüleyen bir XmlDataSource Web Forms sayfası gösterilir. Denetim Repeater , temsil ettiği XML belgesi içindeki veri öğelerine bağlanmak için basitleştirilmiş Eval(Object, String) yöntem söz dizimini XmlDataSource kullanır. Bir listeyi almak IEnumerable ve denetim için geç bağlanan DataSource bir özellik olarak atamak için Repeater yöntemini kullanırSelect(Object, String).

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

İkinci örnek, yukarıda tanımlanan Web Forms sayfasında görüntülenen verilerin kaynağı olarak kullanılan Order.xmlXML dosyasını sağlar.

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

Açıklamalar

Arabirimini uygulayan bir nesneye karşı yürütülen bir XPath ifadesinin sonucuna bağlanmak için bu sınıfın IXPathNavigable aşırı yüklenmiş Eval yöntemini kullanabilirsiniz. Örneğin, .XmlNode Bir nesnede Select düğüm listesi olarak IEnumerable yürütülen IXPathNavigable bir XPath ifadesinin sonuçlarını almak için yöntemini kullanabilirsiniz. Bu düğüm listesi doğrudan numaralandırılabilir veya veya DataListgibi Repeater bir liste denetiminin özelliğine DataSource atanabilir.

Yöntemleri bildirimli olarak kullanırken XPathBinder veri bağlama söz diziminin basitleştirilmiş bir sürümünü kullanabilirsiniz. (, ) çağrısı XPathBinder.Evalyerine (xpath kullanabilirsinizXPath). xpathContainer.DataItem Benzer şekilde, (Container.DataItem,) çağırmak XPathBinder.Selectyerine (xpath) kullanarak XPathSelectbir IEnumerable düğüm kümesixpath alabilirsiniz. Bu basitleştirilmiş söz dizimini Eval kullanırken ve Select yöntemleri varsayılan Container.DataItem bir bağlam nesnesi olduğunu varsayar.

ASP.NET sunucu denetimlerine veri bağlama hakkında daha fazla bilgi için bkz. Data-Binding İfade Söz Dizimi.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Eval(Object, String, IXmlNamespaceResolver)

XPath veri bağlama ifadelerini çalışma zamanında değerlendirir ve XPath ifadesindeki ad alanı ön eklerini çözümlemek için belirtilen nesneyi kullanarak IXmlNamespaceResolver sonucu istekte bulunan tarayıcıda görüntülenecek metin olarak biçimlendirir.

Eval(Object, String, String, IXmlNamespaceResolver)

XPath veri bağlama ifadelerini çalışma zamanında değerlendirir ve XPath ifadesindeki ad alanı ön eklerini çözümlemek için belirtilen nesneyi kullanarak IXmlNamespaceResolver sonucu istekte bulunan tarayıcıda görüntülenecek metin olarak biçimlendirir.

Eval(Object, String, String)

Çalışma zamanında XPath veri bağlama ifadelerini değerlendirir ve sonucu istekte bulunan tarayıcıda görüntülenecek metin olarak biçimlendirer.

Eval(Object, String)

Çalışma zamanında XPath veri bağlama ifadelerini değerlendirir.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Select(Object, String, IXmlNamespaceResolver)

XPath ifadesindeki ad alanı ön eklerini çözümlemek için belirtilen nesneyi kullanarak IXmlNamespaceResolver bir düğüm listesi döndürmek için çalışma zamanında bir XPath veri bağlama ifadesi kullanır.

Select(Object, String)

Bir düğüm listesi döndürmek için çalışma zamanında XPath veri bağlama ifadesi kullanır.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır