Response.Write()、Page.RegisterClientScriptBlock()、Page.RegisterStartupScript 都同样可以往客户端发脚本,但是他们是有区别的,如下:
Response.Write()会将内容输出在HTML流的头部。
RegisterClientScriptBlock 出的脚本将会被放在“<form>”的后面。
RegisterStartupScript 则会将内容输出在</form>标记之前,Form上其他任何元素之后。这样可以保证StartupScript被浏览器执行之前其他的页面元素已经被正确的实例化。而且RegisterStartupScript可以检查脚本注册情况,防止同一脚本被多次反复注册。