从Access中提出来的ASP源码为什么能直接被显示出来呢?请问怎样处理??

loveyong488 2005-09-19 02:00:23
从Access中提出来的ASP源码
如:<input type="text" value="<%=rs("sql")%>">
在网页中显示出来就是!
一个文本框,文本框的内容为<%=rs("sql")%>
怎样才能使他为ASP的显示出来啊!

谢谢各位!
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhurenweile 2005-09-19
  • 打赏
  • 举报
回复
在录入数据库前先把表单输入的内容用server.htmlencode一下,这样所有的html代码中的特殊字符(尖括号之类的)都会被编码。输出的时候就原样输出html代码。
如何使ASP输出结果不支持html语法?
整理编辑:China ASP

网友aspboy1原创

有时候我们会为这样一个问题而烦恼,就是如何在asp页面中避免支持html语法.
例如: 下面一句话
"<form><input type=text></form>这是一个表单语句"
当我们在ASP文件中用response.write"<form><input type=text></form>这是一个表单语句"输出这句话时,结果会出现一个文本框,显然这与我们的目的背离.
为了得到正常的输出结果 :<form><input type=text></form>这是一个表单语句
我们要对这个字串做一下特殊处理,有3种方法可以实现:
1.直接用ASP语法server.htmlencode()
rstr="<form><input type=text></form>这是一个表单语句"
rstr=server.htmlencode(rstr)
response.write rstr
'response语句输出结果即可的到正确结果,但这种方法好象有可能产生乱码.笔者曾遇到过这个头痛的问题.
本人的主页是放在国外的一个服务器上,用了这种方法之后,所有中文全部是乱码,而英文却正确,可是服务器
却明显说支持中文,于是想到第2种方法.
2.只对字符串中的除中文以外的字符用server.htmlencode()语法,具体语句如下:
rstr="<form><input type=text></form>这是一个表单语句"
temp = ""
for i = 1 to len(rstr)
zh = mid(rstr,i,1)
if (asc(zh)>40 and asc(zh)<130) then zh=server.htmlencode(zh)
'判断字符zh是否为中文,若不是则对它用server.htmlencode()
temp = temp + zh
next
rstr= temp
response.write rstr
'得到的结果非常正确,而且不会出现乱码.但这种方法语句冗余,处理速度不快,于是有了更好的第3种方法.
3.这是一种特殊的方法,可以说思路很巧妙.我们都知道html标记都是以"<" ">"组合而成,因此只要对这两个特殊字符做特殊处理即可,即把"<" 用"<",">"用">"代替,这样就可避免浏览器支持html语法了.具体语句如下:
rstr=replace(rstr,"<","<",1)
rstr=replace(rstr,">",">",1)
response.write rstr
lizongyu 2005-09-19
  • 打赏
  • 举报
回复
asp属于解释型语言,也就是服务器将解释完的asp代码发往客户端,因此楼主的方法自然行不通
heyihua 2005-09-19
  • 打赏
  • 举报
回复
<%=rs("sql")%>要改为:<% =rs("sql") %>
allureni 2005-09-19
  • 打赏
  • 举报
回复
。。。。。。。
csharps 2005-09-19
  • 打赏
  • 举报
回复
呵呵,不行的。。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧