How to display error message (POP UP window) occurred in code using try & catch block in ASP.net4.0?
6896 次
3 に答える
3
これはC#バージョンです。ページにポップアップを表示する関数を作成します
<script type="text/javascript">
function displayPopup(message)
{
//code to display popup here
}
</script>
codebehindから生成されたスクリプトを使用してこのメソッドを呼び出します
try
{
//your code here
}
catch(Exception ex)
{
string script = "<script type=\"text/javascript\"> displayPopup('"+ex.Message+"'); </script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", script);
}
VB
Try
'Your code here
Catch ex As Exception
Dim script As String = "<script type=""text/javascript""> displayPopup('" & ex.Message & "'); </script>"
ClientScript.RegisterClientScriptBlock(Me.[GetType](), "myscript", script)
End Try
于 2012-09-20T06:11:45.000 に答える
0
直接行うことはできません
なぜなら
1) コード ビハインドで発生するエラーは、ページがレンダリングされていないときに、サーバー側のエラーです。2) Asp.Net は非接続モデルとして機能するため、最初にサーバー側でページを構築してからレンダリングします。クライアント側 (javascript) のポップアップを表示したい場合は、サーバー側でイベントを記述して、JavaScript メソッドを使用してクライアント側でページがレンダリングおよびロードされたときにポップアップを表示できます。
したがって、サーバー側でエラーが発生したときにスクリプトを生成し、それをクライアント スクリプトに登録する必要があります。例
string script = "<script type=\"text/javascript\"> window.alert('"+ex.Message+"'); </script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "alertscript", script);
RegisterClientScriptBlock はスクリプトをページに直接書き込むため、レンダリング時にこれらのスクリプトが実行され、エラーのアラートが表示されます。
カスタム ポップアップ ウィンドウを表示するアラートの代わりに、カスタム JavaScript 関数を記述し、スクリプトでその関数を呼び出すことができます。
于 2012-09-20T07:06:32.357 に答える