1

How to display error message (POP UP window) occurred in code using try & catch block in ASP.net4.0?

4

3 に答える 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 に答える