Page.RegisterStartupScript和Response.Write的区别。

Page.RegisterStartupScript("","<script language='javascript'>window.alert('弹出对话框')</script>")
Response.Write("<script>alert('弹出对话框')</script>")

两者都是弹出对话框,但是仍有不同。

1.Response.Write("<script>");输出在文件头部,一打开就执行。  
而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body onload="f()"里面的函数;

2.两者都是从服务器返回的对客户端的请求,只不过 Response.Write是放到最开头,

也就是页面的<html>标签,而js是解释性的语言,<html>之前的js语句会被解释,

所以说,用Response.Write的效果如下:

<script>alert('弹出对话框') </script>//遇到这句之后,就会弹出对话框。
<html>
....
而弹出对话框未点确定之前,页面什么东西都没有,点了确定之后继续解释其他的语句,所以就像回发到服务器一样,其实不是回发到了服务器。
而RegisterStartupScript就是在页面加载完之后的事情了,此时,页面已经完全呈现出来了,所以不会在刷新

3.

window.open("index.aspx",'top'); 只是表示打开这个页面,并不是打开并刷新index.aspx

window.location.href="index.aspx"; 表示重新定向到新页面,同时刷新打开的这个页面;

原文地址:https://www.cnblogs.com/zssblog/p/5656647.html