PRM–pageLoading事件

PRM–pageLoading事件
•参数类型:PageLoadingEventArgs
–dataItems属性:获得服务器端注册的数据项
–panelsDeleting属性:获得即将删除的UpdatePanel
–panelsUpdating属性:获得即将更新的UpdatePanel
•常用操作
–提示更新的UpdatePanel
–(能够)获得服务器端注册的数据项

提示更新的UpdatePanel
aspx
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="3_HighlightRefreshedPanels.aspx.cs" Inherits="_3_HighlightRefreshedPanels" Title="HighlightRefreshedPanels" %>

<%@ Register Src="RandomRefreshControl.ascx" TagName="RandomRefreshControl" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<uc1:RandomRefreshControl id="RandomRefreshControl1" runat="server" />
<br />
<uc1:RandomRefreshControl id="RandomRefreshControl2" runat="server" />
<br />
<uc1:RandomRefreshControl id="RandomRefreshControl3" runat="server" />
<br />
<uc1:RandomRefreshControl id="RandomRefreshControl4" runat="server" />
<br />
<uc1:RandomRefreshControl id="RandomRefreshControl5" runat="server" />
<br />

<asp:Button ID="Button1" runat="server" Text="Button" />

<script language="javascript" type="text/javascript">
    function highlightPanels(panels, clear)
    {
        
for (var i = 0; i < panels.length; i++)
        {
            var panel 
= panels[i];
            panel.style.border 
= clear ? "solid 0px white" : "solid 2px red";
            panel.style.backgroundColor 
= clear ? "white" : "#d6dde8";
        }
    }
    
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(
        function(sender, e)
        {
            var panelsUpdating 
= Array.clone(e.get_panelsUpdating());
            highlightPanels(panelsUpdating);
            
            window.setTimeout(
                function(){ highlightPanels(panelsUpdating, 
true); },
                
2000);
        });
</script>

</asp:Content>

cs
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptManager.GetCurrent(
this).RegisterAsyncPostBackControl(this.Button1);
    }
原文地址:https://www.cnblogs.com/timy/p/1169853.html