Вам нужен только один 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 .