4

ASP.NET Web アプリケーションを使用しており、例外がスローされたときにエラー メッセージ ボックスを表示する方法を知りたいと思っていました。

例えば、

    try
    {
        do something
    }
    catch 
    {
        messagebox.write("error"); 
        //[This isn't the correct syntax, just what I want to achieve]
    }

[メッセージ ボックスにエラーが表示されます]

ありがとうございました

Web アプリケーション asp.net c# でエラー メッセージ ボックスを表示する方法の複製

4

3 に答える 3

8

大まかにあなたはそのようにそれを行うことができます:

try
{
    //do something
}
catch (Exception ex)
{
    string script = "<script>alert('" + ex.Message + "');</script>";
    if (!Page.IsStartupScriptRegistered("myErrorScript"))
    {
         Page.ClientScript.RegisterStartupScript("myErrorScript", script);
    }
}

ただし、カスタム例外を定義して、必要な場所にスローすることをお勧めします。ページでこのカスタム例外をキャッチし、メッセージボックススクリプトを登録します。

于 2009-03-16T19:06:55.230 に答える
3

ASP.Netのエラーは、Server.GetLastErrorプロパティに保存されます。

または、エラーを表示するためにasp.netページにラベルを付けます。

try
{
    do something
}
catch (YourException ex)
{
    errorLabel.Text = ex.Message;
    errorLabel.Visible = true;
}
于 2009-03-16T19:04:47.230 に答える
3

必要なのは、テキストを設定できるコントロールと、ポストバック中に例外が発生した場合はUpdatePanelだけです。

ポストバック中に発生した場合:マークアップ:

<ajax:UpdatePanel id="ErrorUpdatePanel" runat="server" UpdateMode="Coditional">
<ContentTemplate>
<asp:TextBox id="ErrorTextBox" runat="server" />
</ContentTemplate>
</ajax:UpdatePanel>

コード:

try
{
do something
}

catch(YourException ex)
{
this.ErrorTextBox.Text = ex.Message;
this.ErrorUpdatePanel.Update();
}
于 2009-03-16T19:09:43.600 に答える