您的位置:首页 > Web前端 > CSS

Response.Write("JS Code")后页面样式丢失问题

2012-08-26 00:02 381 查看
这两天网站,遇到了输入JS脚本,破坏CSS样式的问题,原来写法:
Response.Write("<script>alert('请先保存修改内容!');</script>"); 破坏网页样式
我的笨方法:
在网页里加一个隐藏的label(其实就是字体颜色与背景一样),写成:
this.lblerror.Text = "<script language='javascript'>alert('请先保存修改内容!');</script>";
网友建议:
1、去掉language='javascript' ,问题依旧
2、后面加上Response.Write("<script>document.location=document.location;</script>"); 这句话,试了一下,发现样式是没变化,但是页面是从新加载的,VIEWSTATE被清空了(这可不行,用户修改还没保存呢)
3、this.RegisterStartupScript("", "<script language=javascript>alert('请先保存修改内容!')</script>");

代替你的
Response.Write("<script language='javascript'>alert('请先保存修改内容!');</script>");
最好方法:
用RegisterStartupScript是向客户端输出脚本,比Response.Write好在把脚本输入在网页最下面,不会影响样式,但是有时VS2005会提示一个长长的警告,解决方法是写成:
ClientScript.RegisterStartupScript(this.GetType(), "", "<script language=javascript>alert('请先保存修改内容!')</script>");
就OK了!(至于为什么,我也不太明白!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: