使用更新面板进行搜索

时间:2011-03-21 15:10:16

标签: c# asp.net updatepanel

是否可以使用具有几个文本框和搜索按钮的UpdatePanel,然后可能使用其中包含gridview的另一个UpdatePanel来返回搜索结果。当用户单击搜索时,它会隐藏框,并显示网格视图。我可以使用UpdatePanels执行此操作吗?我正在使用c#进行编码。或者我应该采取另一种方式吗?

3 个答案:

答案 0 :(得分:1)

在这种情况下,您只需要一个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功能以执行搜索并将结果绑定到GridViewUpdatePanel将处理ajax调用并替换GridView将生成的HTML。

您希望尽可能多地保留UpdatePanel,并且只包含实际会发生变化的内容,因为它会随每次更新传输HTML,因此如果您实际上没有对这些内容做任何事情,那么这会浪费资源控制每个动作。这就是为什么在这种情况下最好使用触发器,它会将UpdatePanel挂钩到Click范围之外的UpdatePanel事件。

详细了解UpdatePanel以及触发器如何在MSDN上运行。

答案 1 :(得分:0)

如果我正确理解了问题,您可以使用<asp:Panel>内的两个<UpdatePanel>控件执行此操作。一个面板用于文本框,另一个面板用于gridview。您可以设置要在代码隐藏中显示的面板,具体取决于您是希望用户输入搜索条件还是查看搜索结果。

答案 2 :(得分:0)

是的,你可以。 您也可以只使用一个更新面板。由于您的搜索表单(可能在Panel中)和UpdatePanel内的GridView。