in

@Prog! - ASP.NET(C#) AJAX -

ASP.NET(C#) 2.0 & ASP.NET Ajax (ATLAS) のメモ書き

ASP.NET AJAX エラーをハンドリングする(AsyncPostBackError)

最新の投稿は、投稿日時: 2008/01/03 11:36 投稿者: ASANO です。スレッドには 1 件の返答があります。
ページ 1 / 1 (2 アイテム)
投稿の並べ替え: 前へ 次へ
  • 2008/01/03 11:35

    ASP.NET AJAX エラーをハンドリングする(AsyncPostBackError)

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>ScriptManager AsyncPostBackError</title>
        <script type="text/javascript">
       
            function pageLoad()
            {
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onEndRequest);
            }
           
            function onEndRequest(sender, e)
            {
                if(e.get_error())
                {
                    $get("Label1").innerHTML = e.get_error().description;
                    e.set_errorHandled(true);
                }
            }
           
        </script>
    </head>
    <body>

        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release">
            </asp:ScriptManager>
           
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
               
                    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                   
                </ContentTemplate>
            </asp:UpdatePanel>
        </form>

    </body>
    </html>

  • 2008/01/03 11:36 回答元:

    Re: ASP.NET AJAX エラーをハンドリングする(AsyncPostBackError)

    using System;
    using System.Web.UI;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager1.AllowCustomErrorsRedirect = false;
            ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(Button1);

            ScriptManager1.AsyncPostBackError += delegate(object s, AsyncPostBackErrorEventArgs args)
            {
                Label1.Text = args.Exception.Message;
            };

            //ScriptManager1.AsyncPostBackError += new EventHandler<System.Web.UI.AsyncPostBackErrorEventArgs>(ScriptManager1_AsyncPostBackError);
        }

        //protected void ScriptManager1_AsyncPostBackError(object s, AsyncPostBackErrorEventArgs args)
        //{
        //    ScriptManager1.AsyncPostBackErrorMessage = args.Exception.Message;
        //}

        protected void Button1_Click(object sender, EventArgs e)
        {
            throw new Exception("エラー発生。");
        }
    }

ページ 1 / 1 (2 アイテム)