ASP.NET Tutorial/Ajax/Error Handlers

Материал из .Net Framework эксперт
Версия от 11:57, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Customizing a client-side error message.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        throw new Exception("Server Error");
    }
    protected void sm1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
    {
        sm1.AsyncPostBackErrorMessage = "A server error occurred";
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanel Error Server</title>
    <style type="text/css">
    .errorMessage
    {
        background-color: Yellow;
        color: Red;
    }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager
        id="sm1"
        OnAsyncPostBackError="sm1_AsyncPostBackError"
        Runat="server" />
    <span id="spanError" class="errorMessage"></span>
    <asp:UpdatePanel
        id="up1"
        runat="server">
        <ContentTemplate>
        <asp:Button
            id="btnSubmit"
            Text="Submit"
            OnClick="btnSubmit_Click"
            Runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
    <script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest( prm_endRequest );
    function prm_endRequest(sender, args)
    {
        var spanError = $get("spanError");
        if (args.get_error())
        {
            args.set_errorHandled(true);
            spanError.innerHTML = "Could not complete your request";
        }
        else
        {
            spanError.innerHTML = "";
        }
    }
    </script>
</body>
</html>