ajaxToolkit UpdatePanel控件的用法

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" /> <!--全局刷新 -->

 

posted on 2014-03-28 17:15  khh  阅读(312)  评论(0编辑  收藏  举报

导航