下面是我的代码,关闭页面加载时弹出窗口我也想向用户显示一个消息框plz登录好我的弹出窗口关闭但它在屏幕上闪烁是否有任何方法可以防止这样做。
StringBuilder sb = new StringBuilder();
sb.Append("<script>");
sb.Append("window.close();");
sb.Append("</script");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "test", sb.ToString(), false);
MessageBox.Show("Please Sign In first...", "Login Message", MessageBoxButtons.OK, MessageBoxIcon.Question);
return;
答案 0 :(得分:1)
你的代码毫无意义。你正在调用RegisterClientScriptBlock
,显然你正在使用ASP.NET WebForms。但是你也试图调用MessageBox.Show
(看起来像WinForms版本)。你必须不再使用同一代码库中的那些框架,而且有一个原因:它们不是一起工作的。
如果您使用的是ASP.NET,则表示您的C#代码在Web服务器计算机上作为Windows服务运行。这意味着,如果用户访问您的网站,您将尝试在服务器计算机上显示一个对话框 (位于某个锁定的服务器机房中)。您网站的访问者不会在他们的计算机上看到任何内容。实际上,由于IIS作为非交互式服务运行,我认为对MessageBox.Show
的调用将被忽略。
将在访问者计算机上运行的唯一代码是ASP.NET页面生成的HTML和JavaScript。如果要向用户显示对话框,则需要使用JavaScript。最简单的方法是致电window.alert()
。