我有一个带有两个按钮和文本的消息框。这是相关代码:
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"行,结果为dialogresult.ok。
我正在使用Web表单和ASP.NET。
MessageBox的名称空间是" System.Windows.Forms"。
我尝试清除缓存甚至IISRESET。
还有什么可以帮助我?
预先感谢您。
我正在使用Web表单和ASP.NET。
消息框的名称空间是" system.windows.forms"。
不要那样做。ASP.NET网站在服务器上运行,因此,如果它甚至会在服务器上弹出,没有人可以单击MessageBox
。
如果要向用户显示弹出窗口,则必须在JavaScript中。查看如何在ASP.NET中简单地/否弹出窗口,将结果返回我的C#?
这里有两个问题。在代码逻辑中,MessageBox show 方法与主线程一致。因此,当运行 show 方法时,代码在运行后立即运行,主线程不会等待答案!如果您想成为关闭消息的主线程等待,则应使用MessageBox的 ShowDialog 函数。(MSDN参考)
,但是现在您在ASP中工作,这与Windows大不相同,正如我们亲爱的朋友Codecaster所说,ASP服务器端不是客户端!因此,您的消息将显示在服务器系统上,而不是在观看网站的用户系统上显示!