2011-02-17 44 views
2

目前我们已经含有面板一个UpdatePanel如下:ASP .NET的UpdatePanel在动态加载控制

<asp:UpdatePanel ID="updatepanel" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:Panel ID="panel" runat="server"> 
      </asp:Panel> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

然后,我们动态地加载使用LoadControl()插入到面板的自定义控制。使自定义控件包含其自己的UpdatePanel变得复杂。

我现在面临的问题是 - 我如何更新内部UpdatePanel而不需要更新外部UpdatePanel? UpdateMode在两者上均设置为Conditional。非常感谢您的帮助!

回答

0

您是否尝试过为父更新面板设置ChildrenAsTriggers=false

http://www.asp.net/ajax/tutorials/understanding-asp-net-ajax-updatepanel-triggers

自动触发的孩子可以纳入也 被禁用(让孩子 创造的回发控件不 自动触发局部呈现) 通过 属性来设置ChildrenAsTriggers为false。这可以让你在分配 的 最大的灵活性,具体的控制可以调用 页面呈现,并建议,让 ,开发者将选择在对 来响应事件,而不是 处理可能发生的任何事件。

注意,当UpdatePanel控件 嵌套,当将UpdateMode设置 到有条件的,如果孩子 的UpdatePanel被触发,但 父母没有,那么只有孩​​子 的UpdatePanel会刷新。但是,如果 父UpdatePanel刷新, 那么子UpdatePanel也将 被刷新。