我创建了一个ASP.NET项目,我在其中使用MessageBox.Show向用户显示是否存在错误或其他内容。但是当我发表它时,它给了我这个错误:
2>'/'应用程序中的服务器错误。当应用程序未在UserInteractive模式下运行时显示模式对话框或表单不是有效操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。
不知道这意味着什么?这转变了什么?谢谢!
答案 0 :(得分:3)
MessageBox
用于Windows(而不是Web)应用程序。它会尝试在服务器上打开一个消息框。这是不允许的,因此应用程序错误。
要在客户端上显示消息,您需要使用JavaScript - 例如alert("message")
。您可以使用jQueryUI Dialog等内容添加样式。
答案 1 :(得分:2)
public static void ShowMSG(string msg,object objPage)
{
string sj = "<script>" +
" alert('" + msg + "')" +
" </script>";
System.Web.UI.Page pg = (System.Web.UI.Page)objPage;
pg.ClientScript.RegisterStartupScript(objPage.GetType(), "onload", sj);
}
//where object is the page object
答案 2 :(得分:0)
MessageBox仅用于Windows窗体应用程序。
您是不是要向浏览器发出JavaScript:alert()?
答案 3 :(得分:0)
在后面的代码中使用此函数,只需在需要显示消息时调用MessageBox(“your msg”)。功能是:
private void MessageBox(string msg)
{
Page.Controls.Add(new LiteralControl(
"<script language='javascript'>window.location='url of page if you want to redirect.aspx'; window.alert('" + msg.Replace("'", "\\'") + "') </script>"));
//Response.Write("<script language='Javascript'> window.location='epurchaseorder.aspx'; window.close();</script>");
}
答案 4 :(得分:-1)
不要写Messagebox.Show only .....
尝试
System.Windows.Forms.Messagebox.Show("Your Message");