다음을 통해 공유


XPathBinder 클래스

정의

XPath 식을 사용하는 데이터 바인딩 식을 구문 분석하기 위해 RAD(신속한 애플리케이션 개발) 디자이너를 지원합니다. 이 클래스는 상속될 수 없습니다.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
상속
XPathBinder

예제

다음 코드 예제에 사용 하는 방법을 보여 줍니다.는 XmlDataSource 템플릿 기반 컨트롤과 Repeater XML 데이터를 표시 하는 컨트롤입니다. 이 예제에는 두 부분이 있습니다.

  • XML 데이터를 표시 하는 Web Forms 페이지입니다.

  • 데이터가 포함 된 XML 파일입니다.

예제의 첫 번째 부분을 통해 액세스 하는 XML 데이터를 표시 하는 Web Forms 페이지를 보여 줍니다.는 XmlDataSource 제어 합니다. A Repeater 간소화 된 사용을 제어 Eval(Object, String) 메서드 구문에 XML 데이터 항목에 바인딩하는 문서는 XmlDataSource 나타냅니다. 사용 하 여는 Select(Object, String) 검색 하는 메서드를 IEnumerable 목록 및 런타임에 바인딩된으로 할당 DataSource 속성에 대 한는 Repeater 컨트롤입니다.

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

두 번째 예제 Order.xml 위에 정의 된 Web Forms 페이지에 표시 되는 데이터의 원본으로 사용 되는 XML 파일을 제공 합니다.

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

설명

오버 로드 된 사용할 수 있습니다 Eval 구현 하는 개체에 대해 실행 하는 XPath 식의 결과에 바인딩할이 클래스의 메서드를 IXPathNavigable 와 같은 인터페이스를 XmlNode입니다. 사용할 수 있습니다는 Select 에 대해 실행 되는 XPath 식의 결과 검색 하는 메서드를 IXPathNavigable 개체는 IEnumerable 노드 목록. 이 노드 목록을 직접 열거 하거나 할당할 수는 DataSource 등의 속성 목록 컨트롤을 Repeater 또는 DataList합니다.

사용 하는 경우 데이터 바인딩 구문의 단순화 된 버전을 사용할 수는 XPathBinder 메서드 선언적으로 합니다. 호출 하는 대신 XPathBinder.Eval(Container.DataItem하십시오 xpath) 사용할 수 있습니다 XPath(xpath). 마찬가지로 호출 하는 대신 XPathBinder.Select(Container.DataItem,xpath)를 사용할 수 있습니다 XPathSelect(xpath)를 검색 하는 IEnumerable 노드 집합. 간단한 구문을 사용 하는 경우는 Eval 하 고 Select 메서드는 기본 가정 Container.DataItem 컨텍스트 개체입니다.

ASP.NET 서버 컨트롤에 데이터 바인딩에 대 한 자세한 내용은 참조 하세요. 데이터 바인딩 식 구문합니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Eval(Object, String)

런타임에 XPath 데이터 바인딩 식을 계산합니다.

Eval(Object, String, IXmlNamespaceResolver)

XPath 식의 네임스페이스 접두사를 확인하기 위해 지정된 IXmlNamespaceResolver 개체를 사용하여 XPath 데이터 바인딩 식을 런타임에 계산하고 요청한 브라우저에 표시할 텍스트로 결과의 형식을 지정합니다.

Eval(Object, String, String)

런타임에 XPath 데이터 바인딩 식을 계산하고 요청한 브라우저에 표시할 텍스트로 결과의 형식을 지정합니다.

Eval(Object, String, String, IXmlNamespaceResolver)

XPath 식의 네임스페이스 접두사를 확인하기 위해 지정된 IXmlNamespaceResolver 개체를 사용하여 XPath 데이터 바인딩 식을 런타임에 계산하고 요청한 브라우저에 표시할 텍스트로 결과의 형식을 지정합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Select(Object, String)

런타임에 XPath 데이터 바인딩 식을 사용하여 노드 목록을 반환합니다.

Select(Object, String, IXmlNamespaceResolver)

XPath 식의 네임스페이스 접두사를 확인하기 위해 지정된 IXmlNamespaceResolver 개체와 함께 런타임에 XPath 데이터 바인딩 식을 사용하여 노드 목록을 반환합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상