MessageBox 自动继续,无需按下按钮
MessageBox continues automatically without pressing on button
我有一个带有两个按钮和一个文本的消息框。
这是相关代码:
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"。
我尝试清除缓存甚至 iisreset。
还有什么可以帮助我的?
提前致谢。
I am using web forms and ASP.Net.
the namespace for the MessageBox is "System.Windows.Forms".
不要那样做。 ASP.NET 站点在服务器上运行,因此没有人可以单击 MessageBox
,即使它会在服务器上弹出。
如果您想向用户显示弹出窗口,则必须在 Javascript 中。参见 How to make a simple yes/no popup in ASP.NET that return the result back to my c#?。
这里有两个问题。
在代码逻辑上,MessageBoxShow方法是和主线程并发的。所以当运行 Show 方法立即运行后的代码,主线程不等待答案!
如果想做主线程等待关闭消息,应该使用MessageBox的ShowDialog函数。 (MSDN Reference)
但是现在你在ASP工作,这和Windows有很大的不同,正如我们亲爱的朋友CodeCaster也说过的,ASP服务器端不是客户端!所以您的消息将显示在服务器系统上,而不是在浏览您网站的用户系统上!
我有一个带有两个按钮和一个文本的消息框。 这是相关代码:
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"。
我尝试清除缓存甚至 iisreset。
还有什么可以帮助我的?
提前致谢。
I am using web forms and ASP.Net.
the namespace for the MessageBox is "System.Windows.Forms".
不要那样做。 ASP.NET 站点在服务器上运行,因此没有人可以单击 MessageBox
,即使它会在服务器上弹出。
如果您想向用户显示弹出窗口,则必须在 Javascript 中。参见 How to make a simple yes/no popup in ASP.NET that return the result back to my c#?。
这里有两个问题。 在代码逻辑上,MessageBoxShow方法是和主线程并发的。所以当运行 Show 方法立即运行后的代码,主线程不等待答案! 如果想做主线程等待关闭消息,应该使用MessageBox的ShowDialog函数。 (MSDN Reference)
但是现在你在ASP工作,这和Windows有很大的不同,正如我们亲爱的朋友CodeCaster也说过的,ASP服务器端不是客户端!所以您的消息将显示在服务器系统上,而不是在浏览您网站的用户系统上!