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 应用程序的消息框。它们仅适用于 Windows 客户端应用程序,而不是 Web 应用程序。

不要使用消息框,而是将调试信息写入日志文件。如果你用谷歌搜索它,你会发现很多如何做到这一点的例子。

如果您需要用户确认,就像评论中显示的那样,请使用@AdrianSalazar 在他的回答中建议的 javascript 确认对话框。

于 2012-05-25T14:50:42.723 回答