采用response.write()写入脚本,会打导致页面布局的异常!
原因分析:response.write()返回给客户端的脚本在整个页面布局的加载前被先执行了,从而导致HTML代码显示时混乱。
解决:采用如下代码
Dim cs as ClientScriptManager=Page.ClientScript
cs.RegisterClientScriptBlock(Me.GetType(),string.Empty,"<script>alert('Hi!');</script>")
它是在整个页面加载完毕后执行!
备注:触发从后台来执行JS脚本的控件,必须能单独引起整个页面的刷新,比如服务器控件Button,如果将Button与UpdatePanel绑定,后台的写入的JS是不会执行的,还有就是在Page_Load事件里出现JS的写入也是无效的!
PS:若有错误之处,望指正!