C# MessageBox自动继续,无需按on按钮

C# MessageBox自动继续,无需按on按钮,c#,messagebox,dialogresult,C#,Messagebox,Dialogresult,我有一个带有两个按钮和一个文本的消息框。 以下是相关代码: var result = MessageBox.Show("just a text","just a title",MessageBoxButtons.OKCancel,System.Windows.Forms.MessageBoxIcon.Warning,System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOption

我有一个带有两个按钮和一个文本的消息框。 以下是相关代码:

var result = MessageBox.Show("just a text","just a title",MessageBoxButtons.OKCancel,System.Windows.Forms.MessageBoxIcon.Warning,System.Windows.Forms.MessageBoxDefaultButton.Button1, System.Windows.Forms.MessageBoxOptions.ServiceNotification | System.Windows.Forms.MessageBoxOptions.RightAlign);
if (result == DialogResult.OK)
{
    ... code ...
}
我的问题是程序会自动在“if”中输入代码,而弹出消息框甚至不会显示出来。 即使在调试时,我也会看到代码转到“if”行,结果是DialogResult.OK

我正在使用web窗体和ASP.Net

MessageBox的命名空间是“System.Windows.Forms”

我试着清理缓存,甚至重新设置

还有什么可以帮助我

先谢谢你

我正在使用web窗体和ASP.Net

MessageBox的命名空间是“System.Windows.Forms”

不要那样做。ASP.NET站点在服务器上运行,因此没有人可以单击
MessageBox
,即使它会在服务器上弹出

如果您想向用户显示一个弹出窗口,它必须是Javascript。请参阅。

这里有两个问题。 在代码逻辑中,MessageBoxShow方法与主线程并发。因此,当运行Show方法时,运行后立即显示代码,并且主线程不会等待答案! 如果您想成为等待关闭消息的主线程,则应使用MessageBox的ShowDialog功能。()


但是现在你在ASP中工作,这与Windows非常不同,正如我们亲爱的朋友所说,ASP是服务器端而不是客户端!因此,您的消息将显示在服务器系统上,而不是正在查看您的网站的用户系统上

您是否从ASP.NET调用
MessageBox.Show()
?这是web应用程序吗?您需要使用客户端脚本显示messagebox。不是服务器端代码。您的
消息框的名称空间是什么?那么您建议我怎么做?我不能在客户端运行poop,因为它是作为按钮从网格中的列内部激活的。你当然可以。使用注册表客户端ScriptBlock的某个内容,请尝试搜索。
MessageBox.Show()
为模式。:)链接的第二段这样说:“显示重要消息的对话框应始终是模态对话框。Visual Studio中的“关于”对话框就是模态对话框的一个示例。
MessageBox
是您可以使用的模态形式。”显示消息窗口,也称为对话框,向用户显示消息。它是一个模式窗口,阻止应用程序中的其他操作,直到用户关闭它”。