XPathBinder.Eval Método

Definição

Analisa e avalia uma expressão de ligação de dados XPath contra um IXPathNavigable objeto em tempo de execução.

Sobrecargas

Name Description
Eval(Object, String)

Avalia expressões de ligação de dados XPath em tempo de execução.

Eval(Object, String, String)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante.

Eval(Object, String, IXmlNamespaceResolver)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão XPath.

Eval(Object, String, String, IXmlNamespaceResolver)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão XPath.

Eval(Object, String)

Avalia expressões de ligação de dados XPath em tempo de execução.

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

Parâmetros

container
Object

A IXPathNavigable referência do objeto contra a qual a expressão é avaliada. Este deve ser um identificador de objeto válido na linguagem especificada da página.

xPath
String

A consulta XPath de container para o valor da propriedade que é colocado na propriedade de controlo limitada.

Devoluções

E Object isso resulta da avaliação da expressão de ligação de dados.

Exceções

O container parâmetro ou xpath é null.

O objeto especificado por container não é um IXPathNavigable objeto.

Exemplos

O exemplo de código seguinte demonstra como usar um XmlDataSource controlo com um controlo templateado Repeater para exibir dados XML. Este exemplo tem duas partes:

  • Uma página Web Forms que apresenta dados XML.

  • Um ficheiro XML que contém os dados.

A primeira parte do exemplo mostra uma página de Web Forms que mostra dados XML acedidos através de um XmlDataSource controlo. Um Repeater controlo utiliza a sintaxe simplificada Eval(Object, String) do método para se ligar a elementos de dados dentro do documento XML que representa XmlDataSource . Utiliza o Select(Object, String) método para recuperar uma IEnumerable lista e atribuí-la como uma propriedade de ligação DataSource tardia para o Repeater controlo.

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

O segundo exemplo fornece o ficheiro XML, Bookstore2.xml, que é usado como fonte dos dados apresentados na página Web Forms definida acima.

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

Observações

Pode usar o Eval método de forma declarativa se quiser simplificar o casting de um nó XML para uma string de texto a ser exibida num navegador. Para tal, deve colocar as etiquetas <%# e %>, que também são usadas na ligação de dados ASP.NET padrão, à volta da expressão de ligação de dados.

Para qualquer um dos controlos da lista ASP.NET servidor, como DataList, DataGrid ou Repeater, o parâmetro container deve ser Container.DataItem. Se estiver a ligar à página, o container parâmetro deve ser Page.

Ver também

Aplica-se a

Eval(Object, String, String)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante.

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

Parâmetros

container
Object

A IXPathNavigable referência do objeto contra a qual a expressão é avaliada. Este deve ser um identificador de objeto válido na linguagem especificada da página.

xPath
String

A consulta XPath de para container o valor da propriedade a ser colocada na propriedade de controlo limitada.

format
String

Uma cadeia de formato .NET Framework, semelhante às usadas por Format(String, Object), que converte o objeto IXPathNavigable (que resulta da avaliação da expressão de ligação de dados) num String que pode ser exibido pelo navegador solicitante.

Devoluções

A String que resulta da avaliação da expressão de ligação de dados e da conversão para um tipo de cadeia.

Exceções

O container parâmetro ou xpath é null.

O objeto especificado por container não é um IXPathNavigable.

Observações

Para saber mais sobre cadeias de formatos no .NET Framework, consulte Formatting Types.

Pode usar o Eval(Object, String) método de forma declarativa se quiser simplificar o casting de um nó XML para uma string de texto para ser exibida num navegador. Para tal, deve colocar as etiquetas <%# e %>, que também são usadas na ligação de dados ASP.NET padrão, à volta da expressão de ligação de dados.

Para qualquer um dos controlos da lista ASP.NET servidor, como DataList, DataGrid ou Repeater, o parâmetro container deve ser Container.DataItem. Se estiver a ligar à página, o container parâmetro deve ser Page.

Ver também

Aplica-se a

Eval(Object, String, IXmlNamespaceResolver)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão 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

Parâmetros

container
Object

A IXPathNavigable referência do objeto contra a qual a expressão é avaliada. Este deve ser um identificador de objeto válido na linguagem especificada da página.

xPath
String

A consulta XPath de para container o valor da propriedade a ser colocada na propriedade de controlo limitada.

resolver
IXmlNamespaceResolver

O IXmlNamespaceResolver objeto usado para resolver prefixos de namespace na expressão XPath.

Devoluções

A Object que resulta da avaliação da expressão de ligação de dados.

Observações

Pode usar o Eval método de forma declarativa se quiser simplificar o casting de um nó XML para uma string de texto para ser exibida num navegador. Para tal, deve colocar as etiquetas <%# e %>, que também são usadas na ligação de dados ASP.NET padrão, à volta da expressão de ligação de dados. A expressão de ligação de dados inclui a expressão XPath e um IXmlNamespaceResolver objeto para resolver a referência do namespace.

Para qualquer um dos controlos da lista ASP.NET servidor, como DataList, DataGrid ou Repeater, o parâmetro container deve ser Container.DataItem. Se estiver a ligar à página, o container parâmetro deve ser Page.

Aplica-se a

Eval(Object, String, String, IXmlNamespaceResolver)

Avalia expressões de ligação de dados XPath em tempo de execução e formata o resultado como texto a ser exibido no navegador solicitante, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão 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

Parâmetros

container
Object

A IXPathNavigable referência do objeto contra a qual a expressão é avaliada. Este deve ser um identificador de objeto válido na linguagem especificada da página.

xPath
String

A consulta XPath de para container o valor da propriedade a ser colocada na propriedade de controlo limitada.

format
String

Uma cadeia de formato .NET Framework, semelhante às usadas por Format(String, Object), que converte o objeto IXPathNavigable (que resulta da avaliação da expressão de ligação de dados) num String que pode ser exibido pelo navegador solicitante.

resolver
IXmlNamespaceResolver

O IXmlNamespaceResolver objeto usado para resolver prefixos de namespace na expressão XPath.

Devoluções

A String que resulta da avaliação da expressão de ligação de dados e da conversão para um tipo de cadeia.

Observações

Pode usar o Eval método de forma declarativa se quiser simplificar o casting de um nó XML para uma string de texto para ser exibida num navegador. Para tal, deve colocar as etiquetas <%# e %>, que também são usadas na ligação de dados ASP.NET padrão, à volta da expressão de ligação de dados. A expressão de ligação de dados inclui a expressão XPath e um IXmlNamespaceResolver objeto para resolver a referência do namespace.

Para qualquer um dos controlos da lista ASP.NET servidor, como DataList, DataGrid ou Repeater, o parâmetro container deve ser Container.DataItem. Se estiver a ligar à página, o container parâmetro deve ser Page.

Aplica-se a