Поиск с использованием панелей обновления - PullRequest
0 голосов
/ 21 марта 2011

Можно ли использовать UpdatePanel с несколькими текстовыми полями и кнопкой поиска, а затем, возможно, другую UpdatePanel, в которой есть сетка, чтобы возвращать результаты поиска. Когда пользователь нажимает кнопку поиска, он скрывает поля и отображает сетку. Могу ли я сделать это с UpdatePanels? Я использую C # для моего кодирования. Или я должен делать это по-другому?

Ответы [ 3 ]

1 голос
/ 21 марта 2011

Вам нужен только один UpdatePanel в этом случае и настройте Trigger для вашего поиска Button.

. Поместите только те элементы управления, которые будут обновлены в вашем UpdatePanel.

Пример:

<asp:TextBox ID="txtSearchCriteria" runat="server" />
<asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <asp:GridView ID="grdSearchResults" runat="server">
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

Реализация функции btnSearch_Click для выполнения поиска и привязки результатов к GridView.UpdatePanel будет обрабатывать вызов ajax и замену HTML, который будет генерировать GridView.

Вы хотите сохранить как можно больше от UpdatePanel и включать только то, что действительно изменится, потому чтоон передает этот HTML с каждым обновлением, так что это пустая трата ресурсов, если вы фактически ничего не делаете для этих элементов управления с каждым действием.Вот почему в этом случае лучше всего использовать триггер, который подключит UpdatePanel к событию Click вне области действия UpdatePanel.

Подробнее о UpdatePanel и о том, как триггерыработа на MSDN .

0 голосов
/ 21 марта 2011

Да, вы можете. Вы также можете использовать только одну панель обновления. Поскольку вы Форма поиска (может быть в панели) и GridView внутри UpdatePanel.

0 голосов
/ 21 марта 2011

Если я правильно понимаю вопрос, вы можете сделать это с помощью двух <asp:Panel> элементов управления внутри <UpdatePanel>.Одна панель для текстовых полей, а другая для вида сетки.Вы задаете, какую панель показывать в коде, в зависимости от того, ожидаете ли вы, что ваш пользователь введет критерии поиска, или просмотрите результаты поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...