Share via


XPathBinder.Eval メソッド

定義

実行時に IXPathNavigable オブジェクトに対して XPath データ バインディング式を解析および評価します。

オーバーロード

Eval(Object, String)

実行時に XPath データ バインディング式を評価します。

Eval(Object, String, String)

実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

Eval(Object, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

Eval(Object, String, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

Eval(Object, String)

実行時に XPath データ バインディング式を評価します。

public:
 static System::Object ^ Eval(System::Object ^ container, System::String ^ xPath);
public static object Eval (object container, string xPath);
static member Eval : obj * string -> obj
Public Shared Function Eval (container As Object, xPath As String) As Object

パラメーター

container
Object

式の評価に使用する IXPathNavigable オブジェクト参照。 これは、ページの指定された言語による有効なオブジェクト識別子である必要があります。

xPath
String

バインドされたコントロール プロパティに配置される、container からプロパティ値への XPath クエリ。

戻り値

データ バインディング式の評価の結果として取得される Object

例外

container パラメーターまたは xpath パラメーターが null です。

container で指定されたオブジェクトが IXPathNavigable オブジェクトではありません。

次のコード例では、テンプレート化されたRepeaterコントロールでコントロールをXmlDataSource使用して XML データを表示する方法を示します。 この例には、次の 2 つの部分があります。

  • XML データを表示するWeb Forms ページ。

  • データを含む XML ファイル。

この例の最初の部分は、コントロールを介してアクセスされた XML データを表示するWeb Forms ページをXmlDataSource示しています。 コントロールは 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>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        DataFile="bookstore2.xml"
        XPath="bookstore/genre[@name='fiction']" />

      <asp:Repeater
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h1><%# XPath ("book/title") %></h1>
            <b>Author:</b>
            <%# XPath ("book/author/firstname") %>
            <%# XPath ("book/author/lastname") %>
            <asp:Repeater
                 DataSource='<%# XPathSelect ("book/chapters") %>'
                 runat="server">
                <ItemTemplate>
                     <%# XPath ("chapter/@name") %>
                </ItemTemplate>
            </asp:Repeater>
        </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>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:XmlDataSource
        runat="server"
        id="XmlDataSource1"
        DataFile="bookstore2.xml"
        XPath="bookstore/genre[@name='fiction']" />

      <asp:Repeater
        runat="server"
        DataSourceID="XmlDataSource1">
        <ItemTemplate>
            <h1><%# XPath ("book/title") %></h1>
            <b>Author:</b>
            <%# XPath ("book/author/firstname") %>
            <%# XPath ("book/author/lastname") %>
            <asp:Repeater
                 DataSource='<%# XPathSelect ("book/chapters") %>'
                 runat="server">
                <ItemTemplate>
                     <%# XPath ("chapter/@name") %>
                </ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>
  </form>
  </body>
</html>

2 番目の例では、上で定義したWeb Forms ページに表示されるデータのソースとして使用される XML ファイルBookstore2.xmlを提供します。

<?xml version="1.0" encoding="iso-8859-1"?>  
  <bookstore>  
    <genre name="fiction">  
      <book ISBN="10-861003-324">  
        <author>  
          <firstname>test</firstname>  
          <lastname>test2</lastname>  
        </author>  
        <title>The Handmaid's Tale</title>  
        <price>12.95</price>  
        <chapters>  
          <chapter num="1" name="Introduction" />   
          <chapter num="2" name="Body" />   
          <chapter num="3" name="Conclusion" />  
        </chapters>  
      </book>  
    </genre>  
    <genre name="nonfiction">  
      <book genre="nonfiction" ISBN="1-861001-57-5">  
        <author>  
          <firstname>test3</firstname>  
          <lastname>test4</lastname>  
        </author>      
        <title>Pride And Prejudice</title>  
        <price>24.95</price>  
        <chapters>  
          <chapter num="1" name="Introduction" />   
          <chapter num="2" name="Body" />  
          <chapter num="3" name="Conclusion" />  
        </chapters>  
      </book>  
    </genre>  
  </bookstore>  

注釈

ブラウザーに表示するテキスト文字列への XML ノードのキャストを簡略化する場合は、 メソッドを宣言的に使用 Eval できます。 これを行うには、データ バインディング式の周囲に <、標準の ASP.NET データ バインディングでも使用される %# タグと %> タグを配置する必要があります。

、 などのDataListDataGridRepeaterサーバー コントロール ASP.NET リストの場合、パラメーターは container であるContainer.DataItem必要があります。 ページに対してバインドする場合は、 パラメーターを container にする Page必要があります。

こちらもご覧ください

適用対象

Eval(Object, String, String)

実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

public:
 static System::String ^ Eval(System::Object ^ container, System::String ^ xPath, System::String ^ format);
public static string Eval (object container, string xPath, string format);
static member Eval : obj * string * string -> string
Public Shared Function Eval (container As Object, xPath As String, format As String) As String

パラメーター

container
Object

式の評価に使用する IXPathNavigable オブジェクト参照。 これは、ページの指定された言語による有効なオブジェクト識別子である必要があります。

xPath
String

バインドされたコントロール プロパティに配置される、container からプロパティ値への XPath クエリ。

format
String

Format(String, Object) で使用する書式指定文字列と類似し、データ バインディング式の評価の結果として取得される IXPathNavigable オブジェクトを要求側のブラウザーで表示できる String に変換する .NET Framework 書式指定文字列。

戻り値

データ バインディング式の評価および文字列型への変換の結果として取得される String

例外

container パラメーターまたは xpath パラメーターが null です。

container で指定されたオブジェクトが IXPathNavigable ではありません。

注釈

.NET Frameworkの書式指定文字列の詳細については、「型の書式設定」を参照してください。

ブラウザーに表示するテキスト文字列への XML ノードのキャストを簡略化する場合は、 メソッドを宣言的に使用 Eval(Object, String) できます。 これを行うには、データ バインディング式の周囲に <、標準の ASP.NET データ バインディングでも使用される %# タグと %> タグを配置する必要があります。

、 などのDataListDataGridRepeaterサーバー コントロール ASP.NET リストの場合、パラメーターは container であるContainer.DataItem必要があります。 ページに対してバインドする場合は、 パラメーターを container にする Page必要があります。

こちらもご覧ください

適用対象

Eval(Object, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

public:
 static System::Object ^ Eval(System::Object ^ container, System::String ^ xPath, System::Xml::IXmlNamespaceResolver ^ resolver);
public static object Eval (object container, string xPath, System.Xml.IXmlNamespaceResolver resolver);
static member Eval : obj * string * System.Xml.IXmlNamespaceResolver -> obj
Public Shared Function Eval (container As Object, xPath As String, resolver As IXmlNamespaceResolver) As Object

パラメーター

container
Object

式の評価に使用する IXPathNavigable オブジェクト参照。 これは、ページの指定された言語による有効なオブジェクト識別子である必要があります。

xPath
String

バインドされたコントロール プロパティに配置される、container からプロパティ値への XPath クエリ。

resolver
IXmlNamespaceResolver

XPath 式の名前空間プレフィックスの解決に使用する IXmlNamespaceResolver オブジェクト。

戻り値

データ バインディング式の評価の結果として取得される Object

注釈

ブラウザーに表示するテキスト文字列への XML ノードのキャストを簡略化する場合は、 メソッドを宣言的に使用 Eval できます。 これを行うには、データ バインディング式の周囲に <、標準の ASP.NET データ バインディングでも使用される %# タグと %> タグを配置する必要があります。 データ バインディング式には、名前空間参照を解決するための XPath 式と IXmlNamespaceResolver オブジェクトが含まれます。

、 などのDataListDataGridRepeaterサーバー コントロール ASP.NET リストの場合、パラメーターは container であるContainer.DataItem必要があります。 ページに対してバインドする場合は、 パラメーターを container にする Page必要があります。

適用対象

Eval(Object, String, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。

public:
 static System::String ^ Eval(System::Object ^ container, System::String ^ xPath, System::String ^ format, System::Xml::IXmlNamespaceResolver ^ resolver);
public static string Eval (object container, string xPath, string format, System.Xml.IXmlNamespaceResolver resolver);
static member Eval : obj * string * string * System.Xml.IXmlNamespaceResolver -> string
Public Shared Function Eval (container As Object, xPath As String, format As String, resolver As IXmlNamespaceResolver) As String

パラメーター

container
Object

式の評価に使用する IXPathNavigable オブジェクト参照。 これは、ページの指定された言語による有効なオブジェクト識別子である必要があります。

xPath
String

バインドされたコントロール プロパティに配置される、container からプロパティ値への XPath クエリ。

format
String

Format(String, Object) で使用する書式指定文字列と類似し、データ バインディング式の評価の結果として取得される IXPathNavigable オブジェクトを要求側のブラウザーで表示できる String に変換する .NET Framework 書式指定文字列。

resolver
IXmlNamespaceResolver

XPath 式の名前空間プレフィックスの解決に使用する IXmlNamespaceResolver オブジェクト。

戻り値

データ バインディング式の評価および文字列型への変換の結果として取得される String

注釈

ブラウザーに表示するテキスト文字列への XML ノードのキャストを簡略化する場合は、 メソッドを宣言的に使用 Eval できます。 これを行うには、データ バインディング式の周囲に <、標準の ASP.NET データ バインディングでも使用される %# タグと %> タグを配置する必要があります。 データ バインディング式には、名前空間参照を解決するための XPath 式と IXmlNamespaceResolver オブジェクトが含まれます。

、 などのDataListDataGridRepeaterサーバー コントロール ASP.NET リストの場合、パラメーターは container であるContainer.DataItem必要があります。 ページに対してバインドする場合は、 パラメーターを container にする Page必要があります。

適用対象