在ASP.NET网站开发中,经常需要使用到alert消息框,尤其是在提交网页的时候,往往需要在服务器端对数据进行检验,并给出提示或警告。
这里,仅介绍几种不同的实现方法。
1、众所周知的方法是采用如下代码来实现:
复制代码 代码如下:
Response.Write("<script>alert(‘弹出的消息‘)</script>");
不可否认,这种方法是最常用,也是最简单的一种实现方案。但是,该方法的一个主要特点就是:弹出的消息框是在一个新的空白页面中,
用户必须关掉消息窗口后,才能继续显示页面内容。
那么,为何会出现这样的情况呢? 这是因为,默认情况下,alert函数被添加到了页面的最前面,当其弹出之后,就会阻止页面内容的显示,
因此,用户看到的alert消息框的背景页面就是一片空白。
2、使用 Page.RegisterStartupScript() 方法注册页面执行脚本,它会把注册的脚本放在Web 窗体的结尾处,即</form>标记之前。
这样form的内容显示完之后才执行弹出消息窗口,所以页面不会再空白。
代码如下:
复制代码 代码如下:
this.Page.RegisterStartupScript(" " , "<script>alert(‘ 弹出的消息 ‘); </script> ");
注意,这里是RegisterStartupScript,而不是RegisterClientScriptBlock!
3、考虑到window.onload()函数一般是在页面完全加载完成后才执行的,因此可以将alert消息框函数写在window.onload()函数中。
这样,也可以避免页面出现空白的情况。
代码如下:
复制代码 代码如下:
Response.Write(" <script>function window.onload() {alert( ‘ 弹出的消息‘ ); } </script> ");
综上,第一种方法alert消息框会显示在一个空白页面中,后两种方法则是在当前页面弹出alert对话框,不会出现空白页面的情况。