2011-08-19 60 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