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, bir denetim aracılığıyla XmlDataSource erişilen XML verilerini görüntüleyen bir Web Forms sayfası gösterilir. Denetim Repeater , temsil eden 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.xml XML 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 XmlNodeuygulayan bir nesneye karşı yürütülen XPath ifadesinin sonucuna bağlanmak için bu sınıfın IXPathNavigable aşırı yüklenmiş Eval yöntemini kullanabilirsiniz. Bir nesnede Select düğüm listesi olarak IEnumerable yürütülen bir XPath ifadesinin sonuçlarını almak için IXPathNavigable 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. (Container.DataItem, ) çağırmak XPathBinder.Evalyerine (xpath kullanabilirsinizXPath``xpath. Benzer şekilde, bir düğüm kümesini almak IEnumerable için (Container.DataItem,xpath) çağrısı XPathBinder.Selectyapmak yerine (xpath) kullanabilirsinizXPathSelect. Bu basitleştirilmiş söz dizimini Eval kullanırken ve Select yöntemleri varsayılan Container.DataItem bir bağlam nesnesi kabul eder.

ASP.NET sunucu denetimlerine veri bağlama hakkında daha fazla bilgi için bkz. Veri Bağlama İfade söz dizimi.

Yöntemler

Equals(Object)

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

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

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

Eval(Object, String, IXmlNamespaceResolver)

Çalışma zamanında XPath veri bağlama ifadelerini 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, String, IXmlNamespaceResolver)

Çalışma zamanında XPath veri bağlama ifadelerini 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.

GetHashCode()

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

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

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

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.

ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır