2009-08-18 22 views
0

私は、UpdatePanelの内部にあるGridViewを持っています。 RowCommandイベントを使用してデータを挿入していますが、現在例外がスローされた場合は、トレースに書き込まれません。非同期ポストバックを使用しているときに例外メッセージを出力する方法はありますか?非同期ポストバックで.NET例外を取得する

+0

例外がありますか?あなたが得ている例外についてもっと教えていただければもっと便利です。または、どの例外が発生しているのかわからないという問題がありますか? –

+1

はい、それは問題です...私は例外が何であるか分かりません。 :) – Brian

答えて

3

私は以前と同じようなことで苦労しました。もし、あなたのScriptManagerタグに、あなたは部分ページ・レンダリングをオフにし、

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

あなたはその後、問題を診断するためにあなたを有効にする必要がありますASP.NET YSODが表示されるはずです。固定したら部分レンダリングをオンに戻します。

-1

try catchで非同期コードを実行しているメソッドをラップし、catchにトレースするエラーを書き込みます。

コードに当たっていない場合、正しいGridviewイベントを処理していますか?たとえば、deleteコマンドを含むボタンがあり、GridViewCommand内のコードを処理していて、GridViewDeletedイベントを処理していない場合、例外がスローされます。

+1

私はすでにトレースを行うために例外を書こうとしたことを私の質問で述べましたが、うまくいきません。 – Brian

3

非同期ポストバック中に例外がクライアントに送信されるのではなく、ASP.NET ajaxメカニズムがエラーを処理します。サーバー側で処理されない例外が発生するたびに、例外メッセージを含むメッセージボックスがalertメッセージボックスに表示されます。

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 - あなた自身の方法でそれを処理するには、このようなPageManager's EndRequestイベントを活用することができます。

+0

最初のリンクは死んでいます。 2番目のリンクはマルウェアの警告を表示します。 – mbomb007