UpdatePanel 的 UpdateMode 和 ChildrenAsTriggers(较好的总结了前面几篇博客的内容)
一个 Button 位于 UpdatePanel1 中,一个 Label 位于 UpdatePanel2 中,那么,Button 是否可以通过异步回送来更新 Label 呢?默认是可以的。
UpdateMode 可选值:Always(默认)、Conditional。
ChildrenAsTriggers 可选值:True(默认)、False。
说明,以下总结是除开了 AsyncPostBackTrigger 和 PostBackTrigger 的情况。
假设某 UpdatePanel 的 ID 为 up1,其属性分别为:
UpdateMode="Always" ChildrenAsTriggers="True"
- up1 内部控件可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送。
UpdateMode="Always" ChildrenAsTriggers="False"
- 不允许这种设置。
UpdateMode="Conditional" ChildrenAsTriggers="True"
- up1 内部控件可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件不可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送。
UpdateMode="Conditional" ChildrenAsTriggers="False"
- up1 内部控件不可对 up1 内部控件实现异步回送。
- 其它 UpdatePanel 内部控件不可对 up1 内部控件实现异步回送。
- UpdatePanel 之外的控件不可对 up1 内部控件实现异步回送。
<asp:UpdatePanel>标签内只有<ContentTemplate> <Triggers>两个标签
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<Triggers>标签指的是刷新UpdatePanel的是位于UpdatePanel外面的触发UpdatePanel刷新的控件,当然当碰到下面的ChildrenAsTriggers="false" UpdateMode="Conditional" 情况,<trigger>标签内标注的触发控件依然有效
(ChildrenAsTriggers用来表明UpdatePanel里面的提交控件是否用来刷新)
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
<ContentTemplate>
<%= DateTime.Now %>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Button ID="Button2" runat="server" Text="Button" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
这样的指定Triggers的指定是有效的,
如果ChildrenAsTriggers为True,UpdateMode为Always那么,Triggers的指定是完全不必要的
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">时,UpdatePanel1中可回发控件(包括各类button以及可进行postback的控件),可引起局部刷新
Triggers标签可以指定不在UpdatePanel里面的回发控件和在另一个UpdatePanel的回发控件来触发回发
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers=false UpdateMode="Conditional">
<ContentTemplate>
<%= DateTime.Now %>
<asp:Button ID="Button1" runat="server" Text="Button1" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Button2" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<%= DateTime.Now %>
<asp:Button ID="Button2" runat="server" Text="Button2" />
</ContentTemplate>
</asp:UpdatePanel>上面这段代码中,UpdatePanel1中的Button1会触发UpdatePanel2中的时间,因为没有指定UpdatePanel的UpdateMode为Conditional并且ChildrenAsTriggers为False
下面的内容待检验
2、UpdateMode属性和ChildrenAsTriggers属性:ChildrenAsTriggers默认为true。这两个属性其实是连起来使用的。假设有两个UPdatePanel,其中一个ChildrenAsTriggers为true,UpdateMode为Conditional时,这个UpdatePanel的更新会导致另外一个UpdatePanel的更新。如果ChildrenAsTriggers为false,UpdateMode为Conditional时,这个UpdatePanel的Content的内容不会更新,另一个UpdatePanel里的内容会更新。UpdateMode值为Always时,ChildrenAsTrigger不能为false,如果为true,它只更新自己内部的Content
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/firewolffeng/archive/2007/11/30/1908189.aspx
UpdatePanel 的 UpdateMode 和 ChildrenAsTriggers(较好的总结了前面几篇博客的内容)相关推荐
- C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
C#中关于updatePanel与freeTextBox不兼容的问题 如何解决呢个问题? 解决方案 在使用freeTextBox的那个页面(当然那个页面时有updatePanel的前提下)的后台代码中 ...
- asp.net ajax技巧6
今天继续学习章立民的书.讲到两个updatepannel的嵌套.比如下面的例子 <asp:ScriptManager ID="ScriptManager" runat= ...
- ASP.NET中PostBack和ViewState
ASP.NET中PostBack和ViewState 关于PostBack,我曾经也写过一篇博客<深入理解doPostBack>.在这篇文章里有对PostBack进行了一些研究,现在看来研 ...
- Kafka2.5->Flink1.12->Mysql8(Jark实验改为DDL形式)
##############################################实验目的和环境############################################### ...
- ASP.NET WebForm Best Practice 之PostBack
关于PostBack,我曾经也写过一篇博客<深入理解 __doPostBack>.在这篇文章里有对PostBack进行了一些研究,现在看来研究的还是不够深入.不过从原理上来说,ASP.NE ...
- Sqoop数据的导入导出与job作业
1. Sqoop导入数据 站在hadoop的立场看: import:数据导入.RDBMS----->Hadoop export:数据导出.Hadoop---->RDBMS 创建表 SET ...
- UpdatePanel 学习之 ChildrenAsTriggers
上一篇讲述了如何使用UpdatePanel的UpdateMode属性限制只有本UpdatePanel里面的控件所引发的更新才使UpdatePanel更新有效.那么与这个属性很相关的一个属性就是Chil ...
- UpdatePanel 属性学习之 UpdateMode
上一篇文章说明了在UpdatePanel中RenderMode的学习,这个属性主要是在客户端如何解析UdpatePanel,是生成div,还是生成span,我们也介绍了两者到底有什么样的区别.这一篇文 ...
- UpdatePanel AsyncPostBackTrigger PostBackTrigger 区别
1.使用代码的方式进行编写. 2. Trigger属性: 1)AsyncPostBackTrigger :只是UpdatePanel中指定的进行了局部刷新. 2)PostBackTrigger : 整 ...
最新文章
- HTML-CSS-JS-PHP的顺序及相关网址(转)
- 停笔几天,休息一下也顺便思考一下人生
- linux运维实战练习及linux shell脚本、awk、sed工具命令学习总结
- c++ split 方法(转)
- 【渝粤题库】广东开放大学 基础写作 形成性考核
- Android开发学习笔记-GridView的动态显示
- r语言 append_Python爬取近十年TIOBE编程语言热度数据并可视化可视化
- Matlab系列教程_数值计算_求和(积)_求累加(积)
- linux fcntl函数,Linux C 学习之 - fcntl 函数
- 微信小程序:全新圣诞节头像框制作生成微信小程序源码下载支持多模板
- 线缆干扰编码器输出结果,双绞线引起的干扰编码器问题
- 使用阿里云OSS对象存储搭建个人图床
- 电脑鼠标右键应用卡死、转圈圈、资源管理器关闭等问题
- ppd文件下载 linux,Linux系统R230,R270,R330,L380打印机驱动下载爱普生喷墨打印机PPD文件...
- MATLAB | 全网唯一,双变量及三变量映射图表的MATLAB绘制
- 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议
- fckeditor的皮肤系列:皮肤更换
- Java Security(JCE基本概念)
- 求 n+nn+nnn+nnnn+........的和(java写法)
- IDEA类左侧有一个对勾,如何去掉对勾?
热门文章
- 使用apache搭建tomcat集群
- flask-sqlalchemy分表解决方案
- crs-4124 Oracle 11gR2 RAC ohasd failed to start 解决方法
- 体验式培训之“铁人七项”
- Docker Compose运行MySQL、Redis服务
- 一款开源免费且快速,高效和安全的跨平台备份程序:Restic使用教程
- Fedora/RedHat上搭建MariaDB
- BGP——BGP优化技术(总结+配置)
- python怎么安装beautifulsoup,python – 安装BeautifulSoup
- 用python代替人脑运算24点游戏