Показывать окно с предупреждением от Global.asax (для события Application_Error) - PullRequest
1 голос
/ 12 апреля 2010

Обычно я просто перенаправляю на пользовательскую страницу ошибки в событии Application_Error, но у меня есть конкретная ошибка, для которой я хотел бы отобразить предупреждающее сообщение, пока пользователь все еще находится на странице, которая вызывает ошибку. Как я могу это сделать?

Я открыт для modalpopup или любого другого типа сообщения об ошибке, я просто хочу убедиться, что пользователь остается на странице, где он сталкивается с ошибкой.

Спасибо за любые идеи.

Это относится к этой теме: Обнаружено потенциально опасное значение Request.Form: устранение этих ошибок заранее или после факта

Вот код, который я сейчас использую:

Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
    'Code that runs when an unhandled error occurs
    Try
        Dim err As Exception = Server.GetLastError
        If err.Message IsNot Nothing Then
            If err.Message = "The client disconnected." Then
                Dim LogError As New LogError(Server.GetLastError, Session, Request)
                LogError.LogError()
                Response.Redirect("~/TimeoutPage.aspx?id=2")
            ElseIf err.Message.Contains("dangerous Request.Form value") Then
                'Response.Redirect("~/MyInputErrorPage.aspx")
            'Instead the above redirect, I'd like to show the user an alertbox or something similar to explain the error to them
            Else
                Dim LogError As New LogError(Server.GetLastError, Session, Request)
                LogError.LogError()
                Response.Redirect("~/MyErrorPage.aspx")
            End If
        End If
    Catch ex As Exception
    End Try

Ответы [ 2 ]

0 голосов
/ 19 апреля 2010

Я не мог найти простой способ сделать это, поэтому я просто создал новую страницу ошибок для этих типов ошибок и перенаправил на эту страницу, когда эта конкретная ошибка обнаружена в событии Application_Error (как мой код в первый пост указывает).

0 голосов
/ 12 апреля 2010

Если вы знаете, где происходит ошибка, оберните ее в блок try-catch и обработайте ее в коде загрузки страницы.

Если вам нужна модальная ошибка всплывающего окна в стиле Javascript, в перехвате запишите значение флага / сообщение об ошибке в скрытую переменную на странице и обработайте ее при загрузке html-документа.

...