发布网页时,Message.Show不起作用

时间:2011-04-28 15:42:44

标签: c# asp.net messagebox

我创建了一个ASP.NET项目,我在其中使用MessageBox.Show向用户显示是否存在错误或其他内容。但是当我发表它时,它给了我这个错误:

'/'应用程序中的服务器错误。

当应用程序未在UserInteractive模式下运行时显示模式对话框或表单不是有效操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。

不知道这意味着什么?这转变了什么?谢谢!

5 个答案:

答案 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");