2009-02-04 153 views
0

我有一個web用戶控件,我的aspx頁面包含。在測試期間,我發現了一個異常被拋出。 (一般的規則是,當發生異常時,用戶被重定向到詳細說明錯誤的頁面)VB中的事件和事件處理

一旦在我的用戶控件中處理了excpetion,我想把它扔到頁面解析和重定向可以安全地進行。我在其他情況下通過使用Global Asax,Application_Error來處理重定向等工作,但是當我從用戶控件拋出異常時發生的所有事情是,我得到了一個帶有異常消息的可怕的JavaScript類型對話框。

爲了解決這個問題,我宣佈了一個事件,然後從用戶控件中引發異常作爲參數。我可以成功解析出所需的格式並將用戶重定向到異常頁面。

我的問題(S)是這些

  1. 爲什麼從用戶控件拋出異常只會導致的JavaScript對話框中未在Global.asax錯誤 處理踢。

  2. 是否有 的方式來強制 控件的使用者處理我的自定義錯誤 事件? Simialr到「MustImplement」-----「MustHandle」類事件?

+0

你正在使用ASP.NET Ajax,對吧?或者其他一些3d pary AJAX控件集? – splattne 2009-02-04 15:22:22

回答

1
  1. 爲什麼從用戶控件拋出異常只會導致 的JavaScript對話框,而不是 的Global.asax錯誤處理踢。

因爲有一個頁面錯誤在異步回發期間,這裏有一篇關於Error Handling in ASP.Net Ajax Applications的好文章。

2。有沒有辦法強制控件的消費者處理我的自定義錯誤 事件? Simialr到「MustImplement」 -----「MustHandle」類事件?

This說明如何處理Global.asax中的異步回發錯誤。

0

我不是在ASP.NET精通,但我給它一個鏡頭:

  1. 爲什麼從用戶控件拋出異常只會導致的JavaScript對話框不在Global.asax錯誤處理踢。

將引發錯誤在客戶端,你的錯誤處理髮生在服務器端。除非你實現了一個AJAX-y回調函數,否則服務器不會收到任何客戶端錯誤的通知。這似乎不是ASP.NET中的默認行爲。你可能會檢查出微軟的AJAX庫,當然他們已經有了這樣的機制。

  • 有沒有辦法來強制控制來處理我的自定義錯誤事件的消費者? Simialr到「MustImplement」-----「MustHandle」類事件?
  • 簡單的回答:沒有。