Общие сведения об элементе управления веб-сервером QueryExtender

Элемент управления QueryExtender служит для создания фильтров для данных, получаемых из источника данных, без использования явного предложения Where в источнике данных. Этот элемент управления может использоваться для фильтрации данных в разметке веб-страницы с помощью декларативного синтаксиса.

Фон

Фильтрация исключает данные из источника данных путем отображения только записей, соответствующих заданным условиям. Фильтрация позволяет создавать различные представления данных, входящих в состав набора данных, не воздействуя на сами данные в наборе данных.

Обычно для фильтрации требуется создавать предложения "Where", которые применяются к команде, опрашивающей источник данных. Вместе с тем свойство Where элемента управления LinqDataSource не раскрывает все функциональные возможности, заключенные в LINQ.

Для облегчения фильтрации данных в ASP.NET реализован элемент управления QueryExtender, который может использоваться совместно с источником данных для фильтрации данных с помощью декларативного синтаксиса. Использование элемента управления QueryExtender дает следующие преимущества:

  • Позволяет применять более развернутые выражения для фильтрации, нежели написание предложения Where.

  • Предоставляет общий язык запросов для элементов управления LinqDataSource и EntityDataSource. Например, если с этими элементами управления источником данных используется QueryExtender, можно обеспечить возможность поиска на веб-странице без написания зависящего от модели предложения "Where" или оператора "eSQL".

  • Может использоваться с элементом управления LinqDataSource или EntityDataSource либо с источниками данных сторонних разработчиков.

  • Поддерживает различные параметры фильтрации, которые могут применяться по отдельности или в сочетании.

Параметры фильтрации

Элемент управления QueryExtender поддерживает различные параметры, которые можно использовать для фильтрации данных. Данный элемент управления поддерживает поиск строк, поиск значений в заданном диапазоне, сравнение значения свойства в таблице с указанным значением, сортировку и настраиваемые запросы. Эти параметры реализованы в элементе управления QueryExtender в виде выражений LINQ. Элемент управления QueryExtender также поддерживает выражения, специфические для динамических данных ASP.NET.

SearchExpession

Класс SearchExpression выполняет поиск строковых значений в поле или полях и сравнивает их с заданным строковым значением. Выражение может выполнять поиск "начинается с", "содержит" или "заканчивается на". Например, можно ввести текст в текстовое поле элемента управления и использовать выражение для поиска этого текста в столбцах, возвращенных из элемента управления источником данных.

Примечание

Учет регистра в выражении поиска зависит от поставщика LINQ, который задается в элементе управления QueryExtender.

RangeExpression

Класс RangeExpression подобен классу SearchExpression, но использует пару значений для определения диапазона. Выражение определяет, находится ли значение в столбце между заданными минимальным и максимальным значениями. Например, в столбце цен единиц товаров в таблице можно выполнить поиск значений между 10 и 100 долларами.

PropertyExpression

Класс PropertyExpression сравнивает значение свойства столбца с указанным значением. Например, можно сравнить логическое значение со значением в столбце снятых с производства в таблице "Продукты" в базе данных.

OrderByExpression

Класс OrderByExpression позволяет сортировать данные в заданном столбце и направлении сортировки.

CustomExpression

Класс CustomExpression позволяет вводить пользовательское выражение LINQ, которое можно использовать в элементе управления QueryExtender.

DynamicFilterExpression

Класс DynamicFilterExpression поддерживается только на веб-сайтах на платформе динамических данных ASP.NET. Дополнительные сведения см. в разделе How to: Filter Table Rows Using Values from a Parent Table in Dynamic Data

ControlFilterExpression

Класс ControlFilterExpression поддерживается только на веб-сайтах на платформе динамических данных ASP.NET. Дополнительные сведения см. в разделе How to: Filter Table Rows Using Foreign Key in Dynamic Data

Примеры кода

Пример, как использовать элемент управления QueryExtender, см. в Пошаговое руководство. Фильтрация данных на веб-странице с помощью декларативного синтаксиса.

Справочные сведения о классах

В следующей таблице перечислены важнейшие классы, имеющие отношение к элементу управления QueryExtender.

Выражение

Описание

QueryExtender

Представляет основной класс для элемента управления

CustomExpression

Задает определенное пользователем выражение для источника данных. Пользовательское выражение может быть функцией, вызываемой из разметки страницы.

OrderByExpression

Применяет выражение сортировки к объекту источника данных IQueryable

PropertyExpression

Создает предложение "Where" на основе указанных параметров в коллекции WhereParameters

RangeExpression

Определяет, является ли значение большим или меньшим, нежели указанное значение, или находится ли значение между двумя указанными значениями

SearchExpression

Поиск строковых значений в одном или нескольких полях и сравнение их с заданным строковым значением.

ThenByExpressions

Применяет выражение сортировки к объекту источника данных IQueryable после того, как применено выражение OrderByExpression

DynamicFilterExpression

Создает запрос к базе данных с использованием указанного элемента управления фильтра

ControlFilterExpression

Создает запрос к базе данных с использованием ключа данных, выбранного в элементе управления, связанном с исходными данными

См. также

Задачи

Пошаговое руководство. Фильтрация данных на веб-странице с помощью декларативного синтаксиса

Ссылки

QueryExtender Web Server Control Declarative Syntax

QueryExtender

QueryableDataSource