通常我只是重定向到Application_Error事件中的自定义错误页面,但是我有一个特定的错误,我想在用户仍然在触发错误的页面上时显示警告消息。我怎样才能做到这一点?
我对modalpopup或任何其他类型的错误消息持开放态度,我只是想确保用户停留在他们遇到错误的页面上。
感谢任何想法。
以下是我目前正在使用的代码:
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
答案 0 :(得分:0)
如果您知道错误发生的位置,请将其包装在try-catch块中,并在页面加载后的代码中处理它。
如果你想要一个Javascript样式的模态弹出错误,在catch中,向页面上的隐藏变量写出一个标志值/错误消息,并在html文档加载中处理它。
答案 1 :(得分:0)
我无法找到一种简单的方法来做到这一点,所以我只为这些类型的错误创建了新的错误页面,并在Application_Error事件中捕获到特定错误时重定向到该页面(作为我的代码)第一篇文章表明。)