2010-04-03 72 views
4

我有一個手風琴控制內部的兩個UpdatePanel的,佈局是這樣的:的UpdatePanel刷新一次

<accordion> 
    <first pane content> 
     <updatepanel UpdateMode="conditional"> 
     <contenttemplate>...</contenttemplate> 
     <triggers>...</triggers> 
     </updatepanel> 
    </first pane content> 

    <second pane content> 
     <updatepanel> 
      <contenttemplate>...</contenttemplate> 
      <triggers>...</triggers> 
     </updatepanel> 
    </second pane content> 

</accordion> 

面板更新一次,但在這之後,沒有更新發生。如果我刷新頁面,那麼我可以看到更新的信息。這意味着數據庫正在更新,但updatepanel不刷新(第一次刷新後)。這是爲什麼發生?

這一直困擾着我幾天,所以任何意見將不勝感激。 謝謝!

更新

的問題似乎在於,當我把這個:

Sys.require(Sys.components.accordion, function() { 
        $("#acca_profile").accordion({ 
         HeaderCssClass: "acc_header", 
         HeaderSelectedCssClass: "acc_selectedheader", 
         FadeTransitions: true, 
         suppressHeaderPostbacks: true, 
         requireOpenedPane: false 
        }); 



       }); 
endRequestHandler功能

。但是,如果我不叫它,那麼應該轉換爲手風琴的div不再是手風琴。

更新2

更多的工作之後,我想這個問題可能在於一個事實,即jQuery是不是重新綁定局部回傳後的事件。很多解決方案的要求,你必須註冊客戶端腳本,但我有這個在我的aspx頁面的頂部:

<asp:ScriptManager runat="server" EnablePageMethods="true"> 
<Scripts> 

...(其它腳本) PATH =「HTTP://阿賈克斯。 googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js」 />

</Scripts> 
</asp:ScriptManager> 

怎樣才能重新綁定我在我的代碼JQuery的事件?

+0

我需要看到更多的代碼來幫助 – 2010-04-03 18:47:11

+0

你檢查你是否得到任何JavaScript錯誤?你可以使用螢火蟲或任何你喜歡做的。 – 2010-04-03 18:54:29

+0

啊,我發現錯誤似乎是在endRequestHandler部分調用的函數中。目前,當updatepanel刷新時,手風琴消失(即用於將div轉換爲手風琴的javascript不再執行)。我試圖在endRequestHandler中執行它,雖然這可行,刷新停止。我用手風琴代碼更新了我的帖子。 謝謝 – XSL 2010-04-03 19:38:17

回答

1

最後,我想我解決了它!幾小時的代碼耗盡了幾行代碼。這並不總是這樣嗎? :d 對於誰遇到這個線程的人,我說:

Sys.Application.add_init(pLoad); 

然後我創建了一個名爲pLoad功能,包含了我的手風琴的JavaScript(在原來的職位),以及一對夫婦的其他功能。 到目前爲止,事情似乎正在工作...