用ClientScript和Response.Write("")的区别?

根据CSDN上的帖子整理:http://topic.csdn.net/u/20081210/17/3e30e641-b632-4d6d-acf5-bb81325f2877.html

 

.net中使用response.write输出js会将js放在源代码的最前面,这样就可能出现破坏网页css的效果,让css失去效果!


.net中使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", " <script lanuage=javascript>if(confirm('确定要交卷吗?')==false){history.back()}; </script>"); 可以解决页面变型或是css失效的问题,但是代码会继续执行后面的程序。

 

Response.Write(" <script>... </script>")
这样输出的脚本,只能是在页面最顶部html之外,这样做很多时候脚本会出错的!

使用 Page.ClientScript.RegisterClientScriptBlock 或者 Page.ClientScript.RegisterStartupScript
是在页面的合适位置输出脚本,例如:
protected void Page_Load(object sender, EventArgs e)
{
string myScript = @”alert(document.forms[0][‘TextBox1’].value);”;
Page.ClientScript.RegisterStartupScript(this.GetType(),“MyScript”, myScript, true);
}
这样做的好处是可以在页面的正确位置输出这一段脚本,当然不会出错啦!

所以,Response.Write(" <script>... </script>") 还是少用的好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值