次の方法で共有


XPathBinder.Eval メソッド

定義

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

オーバーロード

名前 説明
Eval(Object, String)

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

Eval(Object, String, String)

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

Eval(Object, String, IXmlNamespaceResolver)

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

Eval(Object, String, String, IXmlNamespaceResolver)

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

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 フォーム ページ。

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

この例の最初の部分は、 XmlDataSource コントロールを介してアクセスされる XML データを表示する Web フォーム ページを示しています。 Repeater コントロールは、簡略化されたEval(Object, String)メソッド構文を使用して、XmlDataSourceが表す XML ドキュメント内のデータ項目にバインドします。 Select(Object, String) メソッドを使用してIEnumerable リストを取得し、Repeater コントロールの遅延バインディング DataSource プロパティとして割り当てます。

<%@ 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 フォーム ページに表示されるデータのソースとして使用される 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

IXPathNavigable オブジェクト (データ バインディング式の評価の結果) を要求元のブラウザーで表示できるStringに変換する、Format(String, Object)で使用されるものと同様の .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 データ バインディング式を評価し、XPath 式の名前空間プレフィックスを解決するために指定された IXmlNamespaceResolver オブジェクトを使用して、要求するブラウザーに表示されるテキストとして結果を書式設定します。

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

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

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

resolver
IXmlNamespaceResolver

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

戻り値

データ バインディング式の評価と文字列型への変換の結果の String

注釈

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

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

適用対象