2009-08-18 64 views
0

我有一個位於UpdatePanel內部的GridView。我正在使用RowCommand事件插入數據,但目前如果引發異常,它不會像我想要的那樣寫入跟蹤。有什麼方法可以在使用異步回發時輸出異常消息?在異步回傳中獲取.NET異常

+0

你知道這個例外嗎?如果你能告訴我們更多關於你得到的異常情況,這將會更有用。或者是你不知道你得到了什麼異常的問題? – 2009-08-18 13:06:42

+1

是的,這是問題......我不知道什麼是例外。 :) – Brian 2009-08-18 13:11:21

回答

3

我以前一直在努力做這樣的事情。如果在您的ScriptManager標籤,您關閉局部頁面呈現,

<asp:ScriptManager runat="server" id="ScriptManager" 
EnablePartialRendering="false" /> 

,那麼你應該看到ASP.NET YSOD這應該使您能夠診斷問題。修復後重新開啓局部渲染。

-1

將您的方法在try catch中運行異步代碼,寫入錯誤以追蹤catch。

如果它沒有觸及代碼,那麼您是否正在處理正確的Gridview事件?例如,如果您有一個帶有刪除命令的按鈕,但正在處理GridViewCommand中的代碼,並且不處理事件GridViewDeleted,則會引發異常。

+1

我在我的問題中提到我已經嘗試編寫要跟蹤的異常,但它不起作用。 – Brian 2009-08-18 13:14:35

3

在異步回發期間,異常不會發送到客戶端,而是由ASP.NET AJAX機制處理這些錯誤。只要服務器端發生未處理的異常,將向包含異常消息的用戶顯示一個alert消息框。爲了處理它以自己的方式,你可以挖掘到PageManager's EndRequest事件這樣的 -

Sys.Application.add_init(__AppInit); 
var __pageManager; 

function __AppInit() { 
    __pageManager = Sys.WebForms.PageRequestManager.getInstance(); 
    __pageManager.add_endRequest(__EndRequest); 
} 

function __EndRequest(sender, args) { 
    var error = args.get_error(); 

    if (null != error) { 
     args.set_errorHandled(false); 
    } 
} 

一些更多的參考herehere

+0

第一個鏈接已經死亡。第二個鏈接提供惡意軟件警告。 – mbomb007 2016-10-05 18:38:52