欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ajaxToolkit UpdatePanel控件的用法

程序员文章站 2022-06-08 09:14:15
...

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