是否可以使用具有几个文本框和搜索按钮的UpdatePanel,然后可能使用其中包含gridview的另一个UpdatePanel来返回搜索结果。当用户单击搜索时,它会隐藏框,并显示网格视图。我可以使用UpdatePanels执行此操作吗?我正在使用c#进行编码。或者我应该采取另一种方式吗?
答案 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
功能以执行搜索并将结果绑定到GridView
。 UpdatePanel
将处理ajax调用并替换GridView
将生成的HTML。
您希望尽可能多地保留UpdatePanel
,并且只包含实际会发生变化的内容,因为它会随每次更新传输HTML,因此如果您实际上没有对这些内容做任何事情,那么这会浪费资源控制每个动作。这就是为什么在这种情况下最好使用触发器,它会将UpdatePanel
挂钩到Click
范围之外的UpdatePanel
事件。
详细了解UpdatePanel
以及触发器如何在MSDN上运行。
答案 1 :(得分:0)
如果我正确理解了问题,您可以使用<asp:Panel>
内的两个<UpdatePanel>
控件执行此操作。一个面板用于文本框,另一个面板用于gridview。您可以设置要在代码隐藏中显示的面板,具体取决于您是希望用户输入搜索条件还是查看搜索结果。
答案 2 :(得分:0)
是的,你可以。 您也可以只使用一个更新面板。由于您的搜索表单(可能在Panel中)和UpdatePanel内的GridView。