XPathBinder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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) |