2010-09-27 19 views
1

我已經設置了自定義錯誤我的服務器上,我重定向到一個頁面如下圖所示獲取最後中斷錯誤,而無需使用Global.asax中

<customErrors mode="On"> 
    <error statusCode="500" redirect="/servererror/default.aspx" /> 
</customErrors> 

當它到達頁面servererror/default.aspx我需要它以電子郵件發送給我用exception.message

這裏就是我想,但它不會工作

Sub Page_load(ByVal sender As Object, ByVal e As EventArgs) 

    Dim LastError As Exception 
    Dim ErrMessage As String 

    LastError = Server.GetLastError() 


     ErrMessage = LastError.Message 


Dim Errormail = New MailMessage 

    'Send email to me 
    Errormail.To   = "[email protected]" 

    Errormail.From   = "[email protected]" 
    Errormail.Subject  = "Server Error Alert" 
    Errormail.BodyFormat = MailFormat.Text 
    Errormail.Priority  = MailPriority.Normal 
    Errormail.Body   = ErrMessage 

    SmtpMail.SmtpServer = "localhost" 

    SmtpMail.Send(Errormail) 

    Server.ClearError() 
End Sub 

任何幫助將不勝感激

感謝

傑米

+0

你能解釋一下什麼是不工作 – ibram 2010-09-27 10:02:24

+0

它實際上沒有把錯誤郵件中的消息給我,並給我這個錯誤對象引用未設置爲對象的實例。 – 2010-09-27 10:04:37

回答

1

看吧: ASP.NET custom error page - Server.GetLastError() is null

你需要添加redirectmode:

<customErrors mode="On" redirectMode="ResponseRewrite"> 
    <error statusCode="500" redirect="/servererror/default.aspx" /> 
</customErrors> 
+0

我試圖做到這一點,但沒有使用Global.asax頁面,雖然 – 2010-09-27 10:08:00

+0

謝謝你的作品 – 2010-09-27 10:20:53

相關問題