XPathBinder.Eval Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Синтаксически анализирует и вычисляет выражение XPath привязки данных объекта IXPathNavigable в период выполнения.
Перегрузки
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
Запрос XPath из container
к значению свойства, помещаемому в свойство привязанного элемента управления.
Возвращаемое значение
Объект Object, являющийся результатом вычисления выражения привязки данных.
Исключения
Значение параметра container
или параметра xpath
— null
.
Объект, заданный container
, не является объектом IXPathNavigable.
Примеры
В следующем примере кода показано, как использовать XmlDataSource элемент управления с шаблонным Repeater элементом управления для отображения XML-данных. Этот пример состоит из двух частей:
Страница веб-формы, на котором отображаются XML-данные.
XML-файл, содержащий данные.
В первой части примера показана страница веб-формы, на котором отображаются XML-данные, к которым осуществляется доступ через XmlDataSource элемент управления . Элемент Repeater управления использует упрощенный Eval(Object, String) синтаксис метода для привязки к элементам данных в XML-документе XmlDataSource , который представляет . Он использует метод для Select(Object, String) получения IEnumerable списка и назначения его в качестве свойства с поздней привязкой DataSourceRepeater для элемента управления .
<%@ 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>
Во втором примере представлен 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>
Комментарии
Метод можно использовать декларативно Eval , если требуется упростить приведение xml-узла к текстовой строке, отображаемой в браузере. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной ASP.NET привязке данных, вокруг выражения привязки данных.
Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, 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
Запрос XPath из container
к значению свойства, помещаемому в свойство привязанного элемента управления.
- format
- String
Строка форматирования .NET Framework, аналогичная используемой в Format(String, Object) и преобразующая объект IXPathNavigable (являющийся результатом вычисления выражения привязки данных) в строку String, которая может быть отображена запрашивающим браузером.
Возвращаемое значение
Строка String, являющаяся результатом вычисления выражений привязки данных и преобразования в строковый тип.
Исключения
Значение параметра container
или параметра xpath
— null
.
Объект, заданный container
, не является объектом IXPathNavigable.
Комментарии
Дополнительные сведения о строках форматирования в платформа .NET Framework см. в разделе Типы форматирования.
Метод можно использовать Eval(Object, String) декларативно, если требуется упростить приведение узла XML к текстовой строке, отображаемой в браузере. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной ASP.NET привязке данных, вокруг выражения привязки данных.
Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, 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
Запрос XPath из container
к значению свойства, помещаемому в свойство привязанного элемента управления.
- resolver
- IXmlNamespaceResolver
Объект IXmlNamespaceResolver, используемый для разрешения префиксов пространства имен в выражении XPath.
Возвращаемое значение
Объект Object, являющийся результатом вычисления выражения привязки данных.
Комментарии
Метод можно использовать Eval декларативно, если требуется упростить приведение узла XML к текстовой строке, отображаемой в браузере. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной ASP.NET привязке данных, вокруг выражения привязки данных. Выражение привязки данных включает выражение XPath и IXmlNamespaceResolver объект для разрешения ссылки на пространство имен.
Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, 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
Запрос XPath из container
к значению свойства, помещаемому в свойство привязанного элемента управления.
- format
- String
Строка форматирования .NET Framework, аналогичная используемой в Format(String, Object) и преобразующая объект IXPathNavigable (являющийся результатом вычисления выражения привязки данных) в строку String, которая может быть отображена запрашивающим браузером.
- resolver
- IXmlNamespaceResolver
Объект IXmlNamespaceResolver, используемый для разрешения префиксов пространства имен в выражении XPath.
Возвращаемое значение
Строка String, являющаяся результатом вычисления выражений привязки данных и преобразования в строковый тип.
Комментарии
Метод можно использовать Eval декларативно, если требуется упростить приведение узла XML к текстовой строке, отображаемой в браузере. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной ASP.NET привязке данных, вокруг выражения привязки данных. Выражение привязки данных включает выражение XPath и IXmlNamespaceResolver объект для разрешения ссылки на пространство имен.
Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, container
параметр должен иметь значение Container.DataItem
. Если выполняется привязка к странице, container
параметр должен иметь значение Page
.