0

メッセージボックスを表示する必要がある例外があります

私のメッセージボックスはローカルホストでは機能しますが、サーバーでは機能しません

catch (Exception)
        {

            MessageBox.Show("Machine Cannot Be Deleted", "Delete from other Places first", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

どうすればこれを機能させることができますか...ありがとう

これを行う別の方法はありますか....助けてください..これは小さな問題であることは知っていますが、実行する必要があります...

4

2 に答える 2

8

Windows フォーム MessageBox はサーバー側で実行されるため、ASP.NET では使用できず、クライアントにとっては役に立ちません。

Javascript アラートまたはその他の種類の検証エラーの使用を検討してください。(おそらく、エラー メッセージに非表示のコントロールがあり、catch ブロックでその可視性を切り替えるか、Javascript アラートに Response.Write を使用します)。

このようなもの(テストされていません):

Response.Write("<script language='javascript'>window.alert('Machine Cannot Be Deleted, delete from other places first.');</script>");
于 2009-11-26T21:55:09.213 に答える
0

名前空間を使用する System.Windows.Forms必要があり、メッセージボックスプロパティを使用できます

例えば

   using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

**using System.Windows.Forms;**

    public partial class _Default : System.Web.UI.Page 
   {
      protected void Page_Load(object sender, EventArgs e)
       {
          MessageBox.Show("Machine Cannot Be Deleted", "Delete from other Places                   
          first", MessageBoxButtons.OK, MessageBoxIcon.Error);

       }    
    }

他の選択肢の中で(ブランドン氏が提案したものを除いて)

a) JavaScript を使用する

例えば

Response.Write("<script>alert('Machine Cannot Be Deleted')</script>");

b) メッセージ ボックスのように機能するカスタム関数を作成する

例えば

protected void Page_Load(object sender, EventArgs e)
    {
        MyCustomMessageBox("Machine Cannot Be Deleted");
    }

    private void MyCustomMessageBox(string msg)
    {
        Label lbl = new Label();
        lbl.Text = "<script language='javascript'>" + Environment.NewLine + "window.alert('" + msg + "')</script>";
        Page.Controls.Add(lbl);
    }

お役に立てれば

于 2009-11-29T07:11:17.313 に答える