2011-08-19 74 views
0

好了,我有這個在我的母版頁asp.net AJAX更新面板混亂

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" ScriptMode="Release" /> 

這在用戶控件

<asp:UpdateProgress ID="updateProgress1" runat="server" AssociatedUpdatePanelID="CustomerListUpdatePanel" DisplayAfter="0" DynamicLayout="false"> 
     <ProgressTemplate> 
      <asp:Literal ID="loadingLiteral" runat="server" Text="<%$resources:Label,Loading %>" /> 
     </ProgressTemplate> 
    </asp:UpdateProgress> 
    <asp:UpdatePanel id="CustomerListUpdatePanel" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="SearchButton" EventName="Click" /> 
     </Triggers> 
     <ContentTemplate> 
      <asp:repeater id="CustomerListRepeater" runat="server"> 
  1. 這裏的問題是,當我按搜索按鈕更新面板更新,但UpdateProgress不顯示它自己,即使它需要幾秒鐘.. [有點解決了Yuriy Rozhovetskiy]。

  2. 問題是updatepanel內部的子按鈕不會導致總回發,而只是重新加載更新面板,所以看起來ChildrenAsTriggers =「false」不起作用或無法理解它。

使用AjaxControlToolkit 4.1.50731.0的Im。

編輯:也似乎的UpdateProgress如果按下按鈕更新面板內部,以顯示它的自我...

回答

2

Associating an UpdateProgress with an UpdatePanel Control:

的AssociatedUpdatePanelID屬性對 UpdateProgress控件行爲下述效果:

  • 當未設置AssociatedUpdatePanelID屬性時,顯示
    UpdateProgress控件對於以下回傳:
    • 源自任何UpdatePanel控件內部的回傳。
    • 回傳源自任何UpdatePanel控件的異步控件異步 觸發器。
  • 當AssociatedUpdatePanelID屬性被設置爲一個UpdatePanel 控制ID,則顯示回發
    從相關聯的UpdatePanel控件內發起UpdateProgress控件。
+0

好吧,清除事情,但我不希望回發源於更新面板內更新面板,我希望他們重新加載頁面... – Peter

+0

你必須指定一個PostbackTrigger在UpdatePanel內的每個控件必須激發同步回發:http://msdn.microsoft.com/en-us/library/system.web.ui.postbacktrigger.aspx –

+0

好的PostbackTrigger做了相反的比較,我期待和它的工作就像一個魅力! – Peter

0

不確定#Problem 1

關於#Problem 2 ...我認爲你的理解可能不正確。

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.childrenastriggers.aspx

+0

ChildrenAsTriggers =「false」這是否只有嵌套更新面板或你想告訴我什麼時才工作?文本沒有定義如果我只有一個updatepanel並設置ChildrenAsTriggers =「false」會發生什麼... – Peter

+0

假設有兩個更新面板... A和B.如果A和B中都有多個按鈕,你按下那個按鈕,默認情況下它會引起一個updatePanel PostBack,因爲ChildrenAsTriggers默認爲「true」。現在,如果A中有一個你不想在A中觸發回傳的按鈕,你可以使用ChildrenAsTriggers =「false」,這樣A就不會被更新,而B會被更新。 –

+0

這可能是真的,但在我的情況下,我只有一個...但任何方式PostbackTrigger解決了我的問題! – Peter