title: 请高手进来救救呀,SQLSERVER输出脚本的问题?网页上有个D 
desc: 上有个DataGrid控件,有一个数据行里的一个单元格里接收到SQL SERVER输出的数据,这数据是一个JS脚本,如下:
  Response.Write("<script type='text/javascript'>alert('恭喜您！操作成功！')</script>");
  
  本来是要它乖乖的呆在数据表格里,不要它被浏览器解释执行的,它却被解释执行了,弹出了对话框,而数据表格里只有一个空壳Response.Write("");看了好气又好笑,请问高手前辈们该怎么避免呀?
answer: Response.Write("<script type='text/javascript'>alert('恭喜您！操作成功！')</script>");
  你把这段输出到页面,他当然执行起来就是弹出对话框了,如果你想这段话显示成文本,而不被执行的话,办法应该有很多种.
  首先页面的默认设置应该不允许向服务器提交脚本的,因为这存在很大的危险性.你数据库里存这样的数据库,你应该避免直接存入这样的数据,你可以通过正则,在向数据库存入包含脚本的内容时,将尖括号替换成相对应的html编码,好比'<'可以换成'<','>'替换成'>',这样输出到页面上就不会是你说的那样了.
  
  