Используйте QueryExtender для поиска термина по нескольким полям данных? - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть текстовое поле с кнопкой, связанной с queryextender. Моя цель состоит в том, чтобы кто-то мог ввести в текстовое поле имя (например, «Дейв Макки») и получить обратно все соответствующие результаты. Проблема заключается в том, что эта информация распределена по двум столбцам в базовой базе данных (например, FIRST_NAME, LAST_NAME). Мой код выглядит так:

 <asp:QueryExtender ID="QueryExtender1" runat="server" TargetControlID="EntityDataSource1" >
    <asp:SearchExpression DataFields="first_name,last_name" SearchType="Contains">
        <asp:ControlParameter ControlID="txtFilterText" />
    </asp:SearchExpression>
</asp:QueryExtender>

Если я ввожу «Mackey», он возвращает результаты, но «Dave Mackey» не возвращает результатов, я предполагаю, что б / к он ищет все значение за один первый (либо, но не оба вместе), тогда как я хотите, чтобы он возвращал любые строки, в которых он находит всю совокупность, даже если он распределен по нескольким полям данных. Есть идеи?

1 Ответ

1 голос
/ 07 апреля 2011

Вы правы в своем предположении.
QueryExtender * SearchExpression выполняет поиск, используя полный txtFilterText в каждом поле в перечислении DataFields.
Как насчет использования Dynamic LINQ и указание пользовательского запроса в событии EntityDataSoure OnSelecting ?

...