zoukankan      html  css  js  c++  java
  • PRM–endRequest事件

    PRM–endRequest事件
    •参数类型:EndRequestEventArgs
    –dataItems属性:获得服务器端注册的数据项
    –error属性:获得异步刷新时获得的错误
    –errorHandled属性:表明错误是否已被处理了
    –response属性:获得这次请求获得的结果对象
    •常用操作:
    –处理异步刷新结果(异常、超时、取消, etc.)
    –获得请求结果中额外的信息
    –(能够)获得服务器端注册的数据项

    处理异步刷新结果
    aspx
    <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="5_HandleResponse.aspx.cs" Inherits="_5_HandleResponse" Title="HandleResponse" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

        
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            
    <ContentTemplate>
                
    <%= DateTime.Now %><br />
                
    <asp:Button ID="btnError" runat="server" Text="Error" OnClick="btnError_Click" />
                
    <asp:Button ID="btnTimeout" runat="server" Text="Timeout" OnClick="btnTimeout_Click" />
                
    <input type="button" value="Abort" onclick="Sys.WebForms.PageRequestManager.getInstance().abortPostBack();" />
                
    <asp:Button ID="btnDataItem" runat="server" Text="Register DataItem" OnClick="btnDataItem_Click" />
            
    </ContentTemplate>
        
    </asp:UpdatePanel>
        
        
    <script language="javascript" type="text/javascript">
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(
                function(sender, e)
                {
                    
    if (e.get_error())
                    {
                        e.set_errorHandled(
    true);
                        
                        
    if (e.get_response().get_timedOut())
                        {
                            showMessage(
    "您的请求已超时。");
                        }
                        
    else if (e.get_response().get_statusCode() != 200)
                        {
                            showMessage(
    "遇到未知错误。");
                        }
                        
    else
                        {
                            showMessage(e.get_error().message);
                        }
                    }
                    
    else if (e.get_response().get_aborted())
                    {
                        showMessage(
    "您的请求已被取消。");
                    }
                    
    else
                    {
                        var upId 
    = "<%= this.UpdatePanel1.ClientID %>";
                        var item 
    = e.get_dataItems()[upId];
                        showMessage(
    "您注册了:" + item);
                    }
                });
        
    </script>

    </asp:Content>

    cs
        protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager.GetCurrent(
    this).AsyncPostBackTimeout = 3;
        }

        
    protected void btnError_Click(object sender, EventArgs e)
        {
            
    int two = 2;
            
    int i = 3 / (two - 2);
        }

        
    protected void btnTimeout_Click(object sender, EventArgs e)
        {
            Thread.Sleep(
    5000);
        }

        
    protected void btnDataItem_Click(object sender, EventArgs e)
        {
            ScriptManager.GetCurrent(
    this).RegisterDataItem(this.UpdatePanel1, DateTime.Now.ToString());
        }
  • 相关阅读:
    Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
    linux基本命令(4) 查看文件相关
    linux基本命令(3) 文件操作相关
    php 验证码不显示
    linux基本命令(2) 修改文件所属人以及权限
    linux 修改开机欢迎文字
    Mysql 自定义HASH索引带来的巨大性能提升
    Maven依赖范围<scope>
    深入理解Java G1垃圾收集器
    Redis EXISTS命令耗时过长case排查
  • 原文地址:https://www.cnblogs.com/timy/p/1169869.html
Copyright © 2011-2022 走看看