0

Visual Studio 2010でメッセージボックスを使用しています。デバッグモードでは機能しますが、サーバーでは機能しません。なぜ機能しないのですか?

if (MessageBox.Show("Invoice sample already exists. Do you want to overwrite it?.", "Overwrite", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification) == DialogResult.OK)
{

    dr.Close();
    con.Close();
    con.Open();
    cmd = new SqlCommand("sp_pdm_shopping_upload_update", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add(new SqlParameter("@sample", SqlDbType.Char, 10));
    cmd.Parameters.Add(new SqlParameter("@image", SqlDbType.Image));
    cmd.Parameters.Add(new SqlParameter("@type", SqlDbType.Char, 10));
    cmd.Parameters["@sample"].Value = txt_code.Text;
    cmd.Parameters["@image"].Value = imgbyte;
    cmd.Parameters["@type"].Value = "INV";
    cmd.ExecuteNonQuery();
    con.Close();
    //getuploadinvoice();
    //getuploadimage();
    ErrorMsg.Visible = true;
    ErrorMsg.Text = "The image has been successfully updated.";


}
4

2 に答える 2

1

HTMLボタンに、JavaScriptコードを配置する必要があります。例えば:

<input type="button" value="Save" onclick="return confirm('Invoice sample already exists. Do you want to overwrite it?.')" />

次に、サーバー側で正常に動作します。ダイアログボックスを受け入れたユーザーのみがサーバー側の機能にアクセスする必要があります。

于 2012-05-25T15:02:23.640 に答える
0

もちろん登場しません。ASP.NET アプリケーションからのメッセージ ボックスを表示するための端末があるとは限りません。これらは、Web アプリケーションではなく、Windows クライアント アプリケーションのみを対象としています。

メッセージ ボックスを使用する代わりに、デバッグ情報をログ ファイルに書き込みます。グーグルで検索すると、その方法の例がたくさん見つかります。

コメントから表示されるように、ユーザーの確認が必要な場合は、@AdrianSalazar の回答で提案されているように、javascript 確認ダイアログを使用してください。

于 2012-05-25T14:50:42.723 に答える