C# web应用程序中的消息框

C# web应用程序中的消息框,c#,asp.net,.net,messagebox,C#,Asp.net,.net,Messagebox,我使用MessageBox alert,它在开发时工作良好,但在部署和发布时工作良好 System.Windows.Forms.DialogResult result2 = System.Windows.Forms.MessageBox.Show("msg :\n" + check + "", "Warning", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxI

我使用MessageBox alert,它在开发时工作良好,但在部署和发布时工作良好

    System.Windows.Forms.DialogResult result2 = System.Windows.Forms.MessageBox.Show("msg :\n" + check + "",
    "Warning",
    System.Windows.Forms.MessageBoxButtons.OK,
    System.Windows.Forms.MessageBoxIcon.Question);

    if (result2 == System.Windows.Forms.DialogResult.OK)
    {
        Response.Redirect("xxx.aspx?acname=" + AN + "&bidref=" + BN + "", true);
    }
我明白了

当应用程序未在UserInteractive模式下运行时,显示模式对话框或窗体不是有效的操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.InvalidOperationException:当应用程序未在UserInteractive模式下运行时,显示模式对话框或窗体是无效的操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[InvalidOperationException:当应用程序未在UserInteractive模式下运行时,显示模式对话框或窗体不是有效的操作。请指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。] System.Windows.Forms.MessageBox.ShowCoreiwin32窗口所有者、字符串文本、字符串标题、MessageBoxButtons按钮、MessageBoxIcon图标、MessageBoxDefaultButton默认按钮、MessageBoxOptions选项、布尔值showHelp+4551083 System.Windows.Forms.MessageBox.ShowString文本、字符串标题、MessageBoxButtons按钮、MessageBoxIcon图标+52 检查表.按钮1\u单击对象发送者,事件参数e+6665 System.Web.UI.WebControl.Button.RaisePostBackEventString事件参数+155 System.Web.UI.Page.ProcessRequestMain布尔IncludeStages在区域同步点之前,布尔IncludeStages在区域同步点+3804


版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.34248

您正在尝试使用适用于Windows窗体应用程序而不是Web应用程序的MessageBox。这两个平台的接口完全不同

您使用的消息框控件用于windows桌面应用程序,换句话说,它在交互模式下运行,这意味着对话框只会在运行代码的机器上弹出,因此在您的情况下,如果您查看承载web应用程序的服务器,您可以看到它会弹出

所以基本上你需要使用基于web的对话框,你可以试试Jquery对话框,它非常容易使用,看看演示和代码示例


如果它解决了您的问题,请将其标记为答案。

可能重复我想做一个“确定”和“取消”,我认为这在Javascriptjavascript Cand do window.confirmtext中不可用,它将显示“确定”和“取消”。另外,如果您使用Jquery对话框,您可以通过放置任意按钮来完全自定义它。您不能在web应用程序中直接使用Winforms.MessageBox。但是,有几种方法可用于在web应用程序中模拟消息框。您可以调用javascript警报;您甚至可以在web页面中隐藏,并在必要时以编程方式对其进行样式设置/显示。有很多选择。