XPathBinder Třída

Definice

Poskytuje podporu pro návrháře rychlého vývoje aplikací (RAD) k analýze výrazů datových vazeb, které používají výrazy XPath. Tuto třídu nelze zdědit.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
Dědičnost
XPathBinder

Příklady

Následující příklad kódu ukazuje, jak použít XmlDataSource ovládací prvek se šablonou Repeater ovládacího prvku k zobrazení dat XML. Tento příklad má dvě části:

  • Stránka Web Forms, která zobrazuje data XML.

  • Soubor XML, který obsahuje data.

První část příkladu ukazuje stránku Web Forms, která zobrazuje data XML, ke kterým se přistupuje prostřednictvím XmlDataSource ovládacího prvku. Ovládací Repeater prvek používá zjednodušenou Eval(Object, String) syntaxi metody k vytvoření vazby k datovým položkám v dokumentu XML, který XmlDataSource představuje. Používá metodu Select(Object, String) k načtení IEnumerable seznamu a přiřazení jako opožděné DataSource vlastnosti Repeater ovládacího prvku.

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

Druhý příklad poskytuje soubor XML Order.xml, který se používá jako zdroj dat zobrazených na Web Forms stránce definované výše.

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

Poznámky

Přetíženou Eval metodu této třídy lze použít k vytvoření vazby na výsledek výrazu XPath spuštěného proti objektu, který implementuje IXPathNavigable rozhraní, jako XmlNodeje například . Pomocí metody můžete Select načíst výsledky výrazu XPath spuštěného proti IXPathNavigable objektu jako IEnumerable seznam uzlů. Tento seznam uzlů lze vytvořit výčet přímo nebo přiřadit vlastnosti DataSource ovládacího prvku seznamu, jako je například nebo Repeater DataList.

Zjednodušenou verzi syntaxe datových vazeb můžete použít při použití XPathBinder metod deklarativním způsobem. Místo volání XPathBinder.Eval(Container.DataItem, xpath) můžete použít XPath(xpath). Podobně můžete místo volání XPathBinder.Select(Container.DataItem,xpath) použít XPathSelect(xpath) k načtení IEnumerable sady uzlů. Při použití této zjednodušené syntaxe Eval a Select metody předpokládají výchozí Container.DataItem kontextový objekt.

Další informace o datové vazbě k ovládacím prvkům serveru ASP.NET naleznete v tématu Syntaxe výrazu vazby dat.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Eval(Object, String)

Vyhodnotí výrazy datové vazby XPath za běhu.

Eval(Object, String, IXmlNamespaceResolver)

Vyhodnocuje výrazy datové vazby XPath za běhu a formátuje výsledek jako text, který se má zobrazit v požadovaném prohlížeči, pomocí objektu určeného IXmlNamespaceResolver k překladu předpon oboru názvů ve výrazu XPath.

Eval(Object, String, String)

Vyhodnocuje výrazy datové vazby XPath za běhu a formátuje výsledek jako text, který se má zobrazit v požadovaném prohlížeči.

Eval(Object, String, String, IXmlNamespaceResolver)

Vyhodnocuje výrazy datové vazby XPath za běhu a formátuje výsledek jako text, který se má zobrazit v požadovaném prohlížeči, pomocí objektu určeného IXmlNamespaceResolver k překladu předpon oboru názvů ve výrazu XPath.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
Select(Object, String)

Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů.

Select(Object, String, IXmlNamespaceResolver)

Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů pomocí objektu určeného IXmlNamespaceResolver k překladu předpon oboru názvů ve výrazu XPath.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro