我在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.";
}
答案 0 :(得分:1)
在HTML按钮上,您应该输入一个javascript代码。例如:
<input type="button" value="Save" onclick="return confirm('Invoice sample already exists. Do you want to overwrite it?.')" />
然后在你的服务器端正常行动。只有接受该对话框的用户才能访问您的服务器端功能。
答案 1 :(得分:0)
当然没有出现。您无法保证甚至有一个终端可以从ASP.NET应用程序中显示消息框。它们仅适用于Windows客户端应用程序,而不适用于Web应用程序。
而不是使用消息框,而是将调试信息写入日志文件。如果你谷歌它,你会发现许多如何做到这一点的例子。
如果您需要用户确认,就像评论中显示的那样,请使用@AdrianSalazar在答案中建议的javascript确认对话框。