ASP模板生成静态页问题

Only_D 2006-01-08 07:00:28
title=内容
pencat=rs2("content") '从数据库里取出模板
pencat=replace(pencat,"$title$",title)

Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(server.mappath("1.htm))
fout.WriteLine pencat
fout.close

运行后出现:
Microsoft VBScript 运行时错误 (0x800A0005)
无效的过程调用或参数,......第 142 行,能生成静态页,但没有内容,并且为0K


如果把:pencat=rs2("content") 改为:pencat=<html><body>$title$</body></html>'不是数据库里的模板,它能正常生成静态HTM页到指定位置,而且$title$位置正常写成:内容

模板页全都是html标记,为什么会出现这样的情况呢?
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤剑 2006-03-08
  • 打赏
  • 举报
回复
应该是编码和特殊字符的问题。
Only_D 2006-01-09
  • 打赏
  • 举报
回复
顶啊,我顶不了啦,谁来顶一下啊
Only_D 2006-01-09
  • 打赏
  • 举报
回复
转换后运行正常了,但写入的HTML文件代码视图的<>还是显示<>
用什么方法把它转回来再写成HTML啊?
...
pencat=server.HTMLEncode(rs("content"))
...
fout.WriteLine server.Unicode(pencat) '这样?
...
Only_D 2006-01-09
  • 打赏
  • 举报
回复
To: wen3062(鼓手)

首先谢谢大家支持!

我还不是很明白
是不是取出模板后要把标记符号“<>”转换一下:“<>”
这样就不会影响其它脚本运行?
取出时写成:
<%
pencat=server.HTMLEncode(rs("content"))
%>
取出后会变成:
pencat=<html> <body>内容标记</body></html>
写成HTML文件时Web 浏览器会把:“<>”当成:<>来运行?

昨晚搞了一个昨上,最后一怒之下,打开数据表把模板的一些表格和汉字删除后,竟然可以正常运行并生成HTML页,这又是怎么回事呢?HTML标记总行:263行,删除后:190行。

而且在网上找的源码都没有转换字符的,也可以正常运行。真把我搞晕了!

请把我从烟雾中拉出来吧,要不今后都没有方向了...
鼓手 2006-01-09
  • 打赏
  • 举报
回复
脚本

<%= Server.HTMLEncode("The paragraph tag: <P>") %>

输出

The paragraph tag: <P>

注意 以上输出将被 Web 浏览器显示为

The paragraph tag: <P>

看看这个应该明白了吧~
鼓手 2006-01-09
  • 打赏
  • 举报
回复
可能有特殊字符。
你最好在读出之后转换下!
Only_D 2006-01-08
  • 打赏
  • 举报
回复
UP
Only_D 2006-01-08
  • 打赏
  • 举报
回复
顶啊,大家帮顶啊
Only_D 2006-01-08
  • 打赏
  • 举报
回复
rs2("content") 是我先做好的模板,运行没问题就把它放入数据库的,静态页都是HTML标记,会有什么问题吗?

有经验的请帮帮忙啊,做不好它我就无法做其它事了
ybfqlyq 2006-01-08
  • 打赏
  • 举报
回复
看一下數據表裡有沒有東西??
cpio 2006-01-08
  • 打赏
  • 举报
回复
你直接把rs2("content")输出来看看啊

28,405

社区成员

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

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