上一篇讲述了如何使用UpdatePanel的UpdateMode属性限制只有本UpdatePanel里面的控件所引发的更新才使UpdatePanel更新有效。那么与这个属性很相关的一个属性就是ChildrenAsTriggers 。ChildrenAsTriggers 属性有两个可选值,一个是false,一个是true。如果设为false,则说明此UpdatePanel不进行自动更新。但可以手动更新,如果设置为 true,则这个UpdatePanel自动更新。上一篇说到把UpdatePanel的UpdateMode设置为Always,则不管是页面中任何控件引发的事件,都会导致UpdatePanel进行更新,那么如果把UpdatePanel的ChildrenAsTriggers 值设置为false的话,则说UpdatePanel不进行自动更新,那么这样不是产生矛盾了吗,一个要更新,一个又阻止更新,的确,这样的设置方法是不行的。也就是说UpdateMode=Always, ChildrenAsTriggers =false这种组合是不行的,如果ChildrenAsTriggers =false,则UpdateMode必须设置为conditional。
    为了说明效果,我再引用上一节所引用的例子,如下所示:

Code
 1 <% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default2.aspx.cs "  Inherits = " Default2 "   %>
 2
 3 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 4
 5 < html  xmlns ="http://www.w3.org/1999/xhtml"   >
 6 < head  runat ="server" >
 7      < title > 无标题页 </ title >
 8 </ head >
 9 < body >
10      < form  id ="form1"  runat ="server" >
11      < div >
12          < asp:ScriptManager  ID ="ScriptManager1"  runat ="server" >
13          </ asp:ScriptManager >
14          < asp:UpdatePanel  ID ="UpdatePanel1"   runat ="server" >
15          < ContentTemplate  >
16              <% = DateTime.Now  %>
17              < asp:Button  ID ="Button1"  runat ="server"   Text ="Button"   />
18          </ ContentTemplate >
19          </ asp:UpdatePanel >
20          < hr  />
21          < asp:UpdatePanel  ID ="UpdatePanel2"  UpdateMode  ="Conditional"   ChildrenAsTriggers  ="false"    runat ="server" >
22          < ContentTemplate  >
23              <% = DateTime.Now  %>
24              < asp:Button  ID ="Button2"  runat ="server"  Text ="Button"   />
25          </ ContentTemplate >
26          </ asp:UpdatePanel >
27      </ div >
28      </ form >
29 </ body >
30 </ html >
31

上面所显示的代码中,我们可以看到,也是放置了两个UpdatePanel,也是显示时间,但是第二个UpdatePanel设置了 ChildrenASTriggers为False,则这样,在执行的时候,第二个updatepanel不管是点哪个按钮,都不会自动刷新,因为这样的设置,如果把updateMode,设置为always,则会出现这样的错误:
这正说明了我们上述提到的那种异常结果。

ChildrenAsTriggers cannot be set to false when UpdateMode is set to Always on UpdatePanel 'UpdatePanel2'.

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: ChildrenAsTriggers cannot be set to false when UpdateMode is set to Always on UpdatePanel 'UpdatePanel2'.

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[InvalidOperationException: ChildrenAsTriggers cannot be set to false when UpdateMode is set to Always on UpdatePanel 'UpdatePanel2'.]
Microsoft.Web.UI.UpdatePanel.OnPreRender(EventArgs e) +194
System.Web.UI.Control.PreRenderRecursiveInternal() +77
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

UpdatePanel 学习之 ChildrenAsTriggers相关推荐

  1. UpdatePanel学习

    1在使用时必须有一个ScriptManager控件     2引用javascript时必须放在form标签中,否则会报错.例:<form id="form1" runat= ...

  2. UpdatePanel 的 UpdateMode 和 ChildrenAsTriggers(较好的总结了前面几篇博客的内容)

    一个 Button 位于 UpdatePanel1 中,一个 Label 位于 UpdatePanel2 中,那么,Button 是否可以通过异步回送来更新 Label 呢?默认是可以的. Updat ...

  3. UpdatePanel的简单用法(非嵌套)

    ScriptManager和UpdatePanel控件联合使用可以实现页面局部异步刷新的效果.UpdatePanel用来设置页面中局部异步刷新的区域,它必须依赖于ScriptManager,因为Scr ...

  4. asp.net ajax学习系列功能强大的UpdatePanel控件

    先给一个简单的例子,后面给一个比较复杂的例子. 改进后的UpdatePanel使页面部分更新(Partial-Page Updates)实现起来非常容易. 要想在已有web页面或新建页面中加入部分更新 ...

  5. UpdatePanel控件的简单属性学习

    一.RenderMode属性,值为Block(默认值)为Inline  在页面中输入以下代码: <asp:ScriptManager ID="ScriptManager1"  ...

  6. ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

    原文地址:http://www.cnblogs.com/edisonchou/p/3901559.html 开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件 ...

  7. 学习UpdatePanel控件

    UpdatePanel控件的使用 ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异 步局部更新区域,它必须依赖 ...

  8. UpdatePanel 属性学习之 UpdateMode

    上一篇文章说明了在UpdatePanel中RenderMode的学习,这个属性主要是在客户端如何解析UdpatePanel,是生成div,还是生成span,我们也介绍了两者到底有什么样的区别.这一篇文 ...

  9. 学习UpdatePanel控件-

      原文可以显示图片(转载:http://blog.csdn.net/ILOVEMSDN/archive/2007/11/11/1879343.aspx)   UpdatePanel控件的使用 200 ...

最新文章

  1. 以下一些使用ASP.NET和VISUAL STUDIO.NET2003的经验和技巧
  2. Debain/ArchLinux/Gentoo 等将合并为超级Linux
  3. [ARM异常]-同步异常产生和返回(svc/hyc/smc/eret)
  4. C#实现让程序只能打开一个实例(总结3方法)
  5. DCT如此重要,作者当初竟然不知道?
  6. 《计算机网络》第10章在线测试,《计算机网络》第07章在线测试
  7. Java Web中的中文编码
  8. 17毫秒每帧!实时语义分割与深度估计
  9. 药品信息管理系统php,医药行业信息化管理系统
  10. 在DW中如何让代码对齐?
  11. 怎样卸载deepin系统_win10系统双系统下卸载deepin的详细技巧
  12. 抖音微博火山快手皮皮虾微视去水印附源码
  13. 口碑营销遇见互联网,企业如何做好网络口碑营销?
  14. 世链投研|链游操作指南之MIR4
  15. 计算机用三角函数时如何用弧度制,单元备课三角函数
  16. 只道情深,奈何缘浅!
  17. 人工智能七大应用领域!你难道还没真香吗?
  18. 使用PuTTY上传和下载文件
  19. libtorch tensor的使用
  20. 加载java连接sqlserver驱动_sqlserverdriver配置方法 jdbc连接sqlserver

热门文章

  1. 如何优雅的理解ECMAScript中的对象
  2. 《每周一点canvas动画》——圆周运动
  3. 领悟非凡,只有西方人才能做出来的效果。。。不是技术,而是人文和胸怀
  4. ASP.NET Forms权限验证
  5. VS.NET 2005 BETA 2 NOT DELAYED?
  6. 容器编排技术 -- kubernetes 通过环境变量向容器暴露 Pod 信息
  7. 容器编排技术 -- kubeadm 实现细节
  8. 如何在Debian 9 / Debian 8上安装MariaDB 10.3
  9. lua学习之类型与值篇
  10. Redis简单命令(部分示例代码)