防止"aspxerrorpath"作为查询字符串传递给ASP.NET自定义错误页面,可以通过以下几个步骤来实现:
<customErrors mode="Off" />
</system.web>
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
Dim ex As Exception = Server.GetLastError()
Dim httpEx As HttpException = TryCast(ex, HttpException)
If httpEx IsNot Nothing Then
Dim errorCode As Integer = httpEx.GetHttpCode()
If errorCode >= 400 And errorCode < 600 Then
Server.ClearError()
Response.Redirect(String.Format("/Error.aspx?code={0}", errorCode))
End If
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim errorCode As Integer = Request.QueryString("code")
If errorCode >= 400 And errorCode < 600 Then
lblErrorMessage.Text = String.Format("An error occurred. Error code: {0}", errorCode)
Else
lblErrorMessage.Text = "An unknown error occurred."
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim errorCode As Integer = Request.QueryString("code")
If errorCode >= 400 And errorCode < 600 Then
lblErrorMessage.Text = String.Format("An error occurred. Error code: {0}", errorCode)
Dim errorPath As String = Request.QueryString("aspxerrorpath")
If Not String.IsNullOrEmpty(errorPath) Then
Response.Redirect(String.Format("/Error.aspx?code={0}", errorCode))
End If
Else
lblErrorMessage.Text = "An unknown error occurred."
End If
End Sub
通过以上步骤,可以有效地防止"aspxerrorpath"作为查询字符串传递给ASP.NET自定义错误页面。
领取专属 10元无门槛券
手把手带您无忧上云