2011-03-21 73 views
0

是否可以使用具有幾個文本框和一個搜索按鈕的UpdatePanel,然後可能是另一個有GridView的UpdatePanel來返回搜索結果。當用戶點擊搜索時,它隱藏框,並顯示gridview。我可以使用UpdatePanels來做到這一點嗎?我使用C#編寫代碼。或者我應該以另一種方式做這件事?使用更新面板進行搜索

回答

1

在這種情況下,您只需要一個UpdatePanel並在您的搜索Button上設置Trigger

僅放入將在您的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掛鉤到UpdatePanel範圍之外的Click事件。

瞭解更多關於UpdatePanel以及觸發器如何在MSDN上工作。

0

如果我正確地理解了這個問題,那麼可以使用<UpdatePanel>中的兩個<asp:Panel>控件來做到這一點。一個用於文本框的面板,另一個用於gridview。您可以設置要在代碼隱藏中顯示的面板,具體取決於您是希望用戶輸入搜索條件,還是查看搜索結果。

0

是的,你可以。 您也可以只使用一個更新面板。由於您在搜索表單(可能位於面板中)和UpdatePanel內的GridView中。