Sdílet prostřednictvím


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 webových formulářů, která zobrazuje data XML.

  • Soubor XML, který obsahuje data.

První část příkladu ukazuje stránku webových formulářů, která zobrazuje data XML přístupná 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 pozdně vázané 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 stránce Webové formuláře 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 můžete použít k vytvoření vazby na výsledek výrazu XPath spuštěného proti objektu, který implementuje IXPathNavigable rozhraní, například XmlNode. Pomocí této 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 přímo nebo přiřadit vlastnosti DataSource ovládacího prvku seznamu, například nebo RepeaterDataList.

Zjednodušenou verzi syntaxe datových vazeb můžete použít při deklarativním použití XPathBinder metod. 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 Data-Binding Syntaxe výrazů.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Vyhodnotí výrazy datové vazby XPath za běhu a naformá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, IXmlNamespaceResolver)

Vyhodnotí výrazy datové vazby XPath za běhu a naformá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)

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

Eval(Object, String)

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

Vytvoří mělkou kopii aktuálního Object.

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

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

Select(Object, String)

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

ToString()

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

(Zděděno od Object)

Platí pro