2010-09-29 227 views
0

我在asp.net 3.5工作,並有一些問題的更新panel.I在頁面中有一些html內容和Formview控件。我想在Formview中沒有數據時隱藏html內容,並顯示Formview控件中有數據時。我的Formview控件位於updatepanel中,它與SqlDataSource綁定,Formview綁定在一些條件上。 如果有人知道如何解決這個問題,那麼請幫助我。Asp.net更新面板

回答

0

如果您希望在Ajax回發之後隱藏HTML內容,它將需要位於UpdatePanel之內,或者與FormView相同,或者是單獨的一個。

如果它在一個單獨的,你需要某種方式強制它更新時,FormView更新。您可以在一些代碼隱藏的情況下執行此操作,調用UpdatePanel的Update()方法,或者將包含HTML的UpdatePanel添加AsyncPostBackTrigger,可能使用FormView的DataBound事件。

此外,要輕鬆隱藏HTML內容,請將其放在Panel中,並使用Visible屬性。

觸發的一個例子:

<asp:UpdatePanel ID="updatePanel" ... runat="server"> 
    <ContentTemplate> 
     ... 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="formViewId" EventName="DataBound" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

格雷厄姆感謝您的回覆。但我的問題是這樣的:我有一個窗體在頁面上有下拉,網格視圖,FormView和列表視圖,所有在那裏單獨的更新面板和一些像div一樣的html也在頁面上,但div不在任何更新面板中。現在,在下拉菜單視圖的所選索引更改事件或其他控件列表視圖和表單視圖的變化上進行填充。現在我想要的是,如果發生任何事件(上面提到),那麼我想檢查控制列表視圖是否有數據,然後我想在頁面上顯示一些HTML文本,否則它將被隱藏。 – ashok 2010-09-29 09:13:25

+0

好吧,好像你需要把你的HTML放在一個Panel中,全部放在一個新的UpdatePanel中,然後創建一個服務器端事件處理程序來處理SelectedIndexChanged事件。在這裏,檢查ListView,並設置HTML所在面板的'Visible'屬性。 – 2010-09-29 09:28:28

0

這個問題簡單地使用在的UpdatePanel和的UpdatePanel的UpdatePanel_preRender情況下把所有的HTML內容的檢查,如果的GridView有數據則顯示HTML內容,否則隱藏

解決