UpdaePanel的主要属性
1. ChildrenAsTriggers : 内容模板内的子控件的回发是否更新本模板 ( 和 UpdateMode 的 conditional 有关 )
2 UpdateMode : 内容模板的更新模式,有 always 和 conditional 俩种
(1) always :每次 ajax PostBack或者普通的 PostBack 都能引起 panel 的更新 如果 UpdatePanel 设置为 Always 时, 不能使用上面的 ChildrenAsTriggers
属性 ,强行使用会报错,是 updatepanel 默 认的更新模式 , 和设置 trigger 触发器没有直接的关系 。
(2)conditional:只有满足如下某一条件时才更新 panel 的内容如果设置 UpdateMode="conditional" ChildrenAsTriggers="false"时候,子控件不允许触发更新
<1> 当 panel 中的某个控件引发 PostBack 时
<2> 当 Panel 指定的某个 Trigger 被引发时
3 RenderMode : 局部更新控件的呈现形式,俩中, Block( 局部更新在客户端以 div 形式 展现 ) 和 Inline( 局部更新以 span的形式展现在客户端 )
4 contentTemplate: 局部更新控件的内容模板,可以在其中添加任何控件
5 Triggers: 局部更新的触发器,包括俩中:异步回发(AsyncPostBackTrigger) 用来实现 局部更新。 普通回发 (PostBackTrigger) 和普通的一养, 不管是否使用了局部更新控件,都会引起页面的全部更新
示例代码
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<% =DateTime.Now.ToString()%>
<asp:Button ID="Button1" runat="server" Text="UpdatePanelButton" /><!-- 局部刷新->
</ContentTemplate>
<Triggers>
<%-- <asp:PostBackTrigger ControlID="Button1"/>--%>
<%--<asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />--%>
</Triggers>
</asp:UpdatePanel>
<br />
<% =DateTime.Now.ToString()%>
<asp:Button ID="Button2" runat="server" Text="Button" /> <!--全局刷新 -->