Asp.net Ajax 学习笔记2 UpdatePanel的使用(上)
2007-11-30 01:17
851 查看
这 一次课主要是讲UpdatePanel的使用
首先是它的基本属性
1、RenderMode:UpdatePanel的呈现模式,如果值是Block,那么它在客户端生成的是Div标签,如果值是Inline,那么它在客户端生成的是Span
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
3、Triggers标签用来指定哪个控件来触发UpdatePanel的更新 Triggers里面的标签AsyncPostBackTrigger用来指定这个UpdatePanel的更新时异步刷新
4、UpdatePanel有两个属性是互斥的。ChildrenAsTriggers和UpdateMode。UpdateMode是用来指定在UpdatePanel里面的提交控件是否总是用来触发刷新的,有两个值,一个是Always表明总是触发刷新、一个是Conditional,表明是有条件的。ChildrenAsTriggers用来表明UpdatePanel里面的提交控件是否用来刷新
ChildrenAsTriggers="false" UpdateMode="always"
这样的的属性值指定会产生错误
<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的指定是完全无效的
5、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
6、UpdatePanel是允许嵌套的,控制嵌套UpdatePanel内部控件的更新,由上面描述的几个标签和属性控制
总结:上面所描述的几种标签和属性可以自由的结合查看其效果
首先是它的基本属性
1、RenderMode:UpdatePanel的呈现模式,如果值是Block,那么它在客户端生成的是Div标签,如果值是Inline,那么它在客户端生成的是Span
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
3、Triggers标签用来指定哪个控件来触发UpdatePanel的更新 Triggers里面的标签AsyncPostBackTrigger用来指定这个UpdatePanel的更新时异步刷新
4、UpdatePanel有两个属性是互斥的。ChildrenAsTriggers和UpdateMode。UpdateMode是用来指定在UpdatePanel里面的提交控件是否总是用来触发刷新的,有两个值,一个是Always表明总是触发刷新、一个是Conditional,表明是有条件的。ChildrenAsTriggers用来表明UpdatePanel里面的提交控件是否用来刷新
ChildrenAsTriggers="false" UpdateMode="always"
这样的的属性值指定会产生错误
<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的指定是完全无效的
5、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
6、UpdatePanel是允许嵌套的,控制嵌套UpdatePanel内部控件的更新,由上面描述的几个标签和属性控制
总结:上面所描述的几种标签和属性可以自由的结合查看其效果
相关文章推荐
- Asp.Net Ajax 学习笔记3 UpdatePanel的使用(上)
- Asp.net Ajax 学习笔记2 UpdatePanel的使用(上)
- Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)
- Asp.net Ajax 学习笔记4 UpdatePanel的使用(上)
- Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)
- ASP.Net Ajax 学习笔记(2):UpdatePanel控件(中)
- ASP.NET AJAX深入浅出系列----UpdatePanel的使用笔记(上)
- 系统学习asp.net Ajax中GridView、UpdatePanel、UpdateProgress、Timer使用
- ASP.NET AJAX深入浅出系列课程(2):UpdatePanel的使用(上) 笔记 备忘
- Asp.net Ajax(二) UpdatePanel(一)UpdatePanel中使用Validators
- asp.net ajax 使用updatepanel进行更新后的提示
- Asp.Net Ajax 学习笔记13 Microsoft AJAX Library中异步通信层使用
- asp.net ajax 使用updatepanel进行更新后的提示
- ASP.NET学习笔记[9] - jQuery和UpdatePanel兼容的问题
- (学习Asp.net Ajax笔记一)使用 Microsoft AJAX Library 创建自定义客户端脚本之一
- 初学 ASP.NET AJAX (三):使用 UpdatePanel
- 小结:关于asp.net内置ajax功能的使用(scriptmanager/updatepanel)
- Asp.Net Ajax 学习笔记22 使用Microsoft Ajax Library中的浏览器兼容功能
- ASP.NET AJAX 's UpdatePanel 中使用Page.ClientScript.RegisterStartupScript 失败
- asp.net ajax updatepanel控件使用(网页自动部分更新)