您的位置:首页 > 其它

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

2010-02-01 20:28 381 查看
根据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>") 还是少用的好!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐