消息框在调试模式下显示。为什么不在localhost中显示?

时间:2012-05-25 14:43:04

标签: c# asp.net web-services componentone

我在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.";


}

2 个答案:

答案 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确认对话框。