简单的ASP生成HTML程序

本文介绍了三种使用ASP技术生成静态HTML页面的方法。方法一利用`Scripting.FileSystemObject`逐行写入HTML内容;方法二通过表单提交,将动态ASP页面内容转换为静态HTML;方法三展示了如何从数据库中获取内容并结合模板生成分页的HTML文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

set   fso=server.CreateObject("scripting.filesystemobject")

set   f1=fso.opentextfile(server.MapPath("demo.htm"),2,true)

f1.write("<html>")

f1.write("<head>")

f1.write("<meta   http-equiv='Content-Type'   content='text/html;   charset=gb2312'>")

f1.write("<title>哈哈~~~!</title>")

f1.write("<link   href='style.css'   rel='stylesheet'   type='text/css'>")

f1.write("<script   language='javascript'   src='function.js'></script>")

f1.write("</head>")

f1.write("<body>")

f1.write("<a   href=''   target='_blank'>啊啊阿</a>提供最新下载《<a   href='menu.asp'>管理</a>》<br/>")

f1.write(str)

f1.write("</body>")

f1.write("</html>")

f1.close

set   fso=nothing

response.Redirect("demo.htm")

 

 方法二:

现在到处都流行动态网站页面生成静态页,总的说我不是很赞同,认为有误导初学者之嫌,可我也不是圣人用户有要求,自然也不能免俗。

我这里提供一个简单的不用模板可以直接生成HTML静态页的方法.


如一个正常的index.asp动态页面,

新建一个文件 makeasp2html.asp

<form method="post" action=""> 
    <textarea name="asp2html" style="display:none"><!--#include file="index.asp"--></textarea> 
    <input type="submit" value="生成html页"/> 
</form> 

<% 
If request.Form("asp2html")<>"" then 
    filename="index.html" 

    set fso = Server.CreateObject("Scripting.FileSystemObject") 
    set fout = fso.CreateTextFile(server.mappath(""&filename&"")) 

    fout.write request.form("asp2html") 
    fout.close 

    set fout=nothing 
    set fso=nothing 

end if 
%> 


这样index.html文件就生成了,连模板都用不着,只要服务器要支持FSO,将正常情况下使用的ASP文件读取到textarea里就可以了。

 

方法三:

<!--#include file="Include/Conn.asp"-->
<%
If(Request.QueryString("Page")="") Then
Page=1
Else
Page=Request.QueryString("Page")
End If

SQL="Select ID,LTitle,LPostTime,LHits From Log_List order By ID DESC"
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open SQL,Conn,1,1
If(Rs.EOF) Then
   strList="没有内容"
Else
   Rs.pagesize=30
   Rs.AbsolutePage=Page
   TotalPage=Rs.PageCount
   For i=0 To rs.pagesize-1 '显示具体的数据内容了,i+(page*13-13)+1 这个解决分页后显示具体的编号
     If Rs.eof Then Exit For
   strList = strList & i+(Page*13-13)+1 & ":<A href='"&Rs(0)&".html'>"&Rs(1)&"</a><br>"
   Rs.movenext
   Next
   If(Int(Page)=1) Then
   PageFirst="[首页"
   Else
   PageFirst="[<a href=""Index_1.html"">首页</a>"
   End If
     
   If(Int(Page)=1)Then
   PageBack=" 上一页 "
   Else
   PageBack=" <a href=""Index_"&Page-1&".html"">上一页</a> "
   End If
     
   If(Int(Page)=TotalPage)Then
   PageNext=" 下一页 "
   Else
   PageNext=" <a href=""Index_"&Page+1&".html"">下一页</a> "
   End If
     
   If(Int(Page)=TotalPage)Then
   PageLast="尾页]"
   Else
   PageLast="<a href=""Index_"&TotalPage&".html"">尾页</a>]"
   End If

   AbsPage="第<select onchange=""window.location='Index_'+this.options[this.selectedIndex].value+'.html'"">"
   For j=1 To TotalPage
   AbsPage=AbsPage&"<option value="&j
   If(Cstr(j)=Cstr(Page))Then
     AbsPage=AbsPage&" selected"
   End If
   AbsPage=AbsPage&">"&j&"</option>"
   Next
   AbsPage=AbsPage&"</select>页"


   PageNav=PageFirst&PageBack&PageNext&PageLast&AbsPage
End If

TempContent=Conn.Execute("Select TempContent From Templet Where TempID=1")(0)
TempContent=replace(TempContent,"$ArticleList$",strList)
TempContent=replace(TempContent,"$PageNav$",PageNav)

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Fout = FSO.CreateTextFile(Server.MapPath("Article/Index_"&Page&".html"))
Fout.Write TempContent
Fout.Close
%>
<%If(Int(Page)<Int(TotalPage))Then%>
<html>
<head><title>完成</title>
<meta http-equiv="refresh" content="0;url=CreateHtml_List.asp?Page=<%=Page+1%>">
</head>
<body>
第<font color=red><b><%=Page%></b></font>页生成完毕!
</body>
</html>
<%Else%>
生成文章分类完毕,共生成<font color=red><b><%=TotalPage%></b></font>页
<%End If%>


转载于:https://my.oschina.net/anhoo/blog/373909

asp生成html源码 <% function chan_time(shijian)'转换日期时间函数 s_year=year(shijian) if len(s_year)=2 then s_year="20"&s_year s_month=month(shijian) if s_month<10 then s_month="0"&s_month s_day=day(shijian) if s_day<10 then s_day="0"&s_day s_hour=hour(shijian) if s_hour<10 then s_hour="0"&s_hour s_minute=minute(shijian) if s_minute<10 then s_minute="0"&s_minute chan_time=s_year & s_month & s_day & s_hour & s_minute end function function chan_data(shijian) '转换日期时间函数 s_year=year(shijian) if len(s_year)=2 then s_year="20"&s_year s_month=month(shijian) if s_month<10 then s_month="0"&s_month s_day=day(shijian) if s_day<10 then s_day="0"&s_day chan_data=s_year & s_month & s_day end function function chan_file(shijian)'转换日期时间函数 s_month=month(shijian) if s_month<10 then s_month="0"&s_month s_day=day(shijian) if s_day<10 then s_day="0"&s_day s_hour=hour(shijian) if s_hour<10 then s_hour="0"&s_hour s_minute=minute(shijian) if s_minute<10 then s_minute="0"&s_minute s_ss=second(shijian) if s_ss<10 then s_ss="0"&s_ss chan_file = s_month & s_day & s_hour & s_minute & s_ss end function top="<html><head><title>news</title><meta http-equiv=Content-Type content=text/html; charset=gb2312></head><body>" botom="</body></html>" msg=request.Form("msg") msg=replace(msg,vbcrlf,"") msg=replace(msg,chr(9),"") msg=replace(msg," "," ") msg=replace(msg,"\r\n","<br>") msg=replace(msg,"\n","<br>") msg=top&msg;&botom; Set fs=Server.CreateObject("Scripting.FileSystemObject") all_tree2=server.mappath("news")&"\"&chan;_data(now) if (fs.FolderExists(all_tree2)) then'判断今天的文件夹是否存在 else fs.CreateFolder(all_tree2) end if pass=chan_file(now) randomize '使用系统计时器来初始化乱数产生器 pass=rnd(pass) pass=get_pass(pass) pass=left(pass,10) file1=pass files=file1&".txt" filez=all_tree2&"\"&files; set ts = fs.createtextfile(filez,true) '写文件 for z=1 to len(msg) write_now=mid(msg,z,1) ts.write(write_now) next ' ts.writeline(all_msg) ts.close set ts=nothing '文件生成 if err.number<>0 or err then%> [removed] alert("不能完成") [removed] <%else%> [removed] alert("已完成") history.back(); [removed] <%end if Set MyFile = fs.GetFile(filez) all_tree2=server.mappath("news")&"\"&chan;_data(now) if (fs.FolderExists(all_tree2)) then else fs.CreateFolder(all_tree2) end if MyFile.name= left(MyFile.name,len(MyFile.name)-4)&".html" set MyFile=nothing set fs=nothing set fdir=nothing function get_pass(pass) pass=cstr(pass) pass=replace(pass," ","") pass=replace(pass," ","") pass=replace(pass,"-","") pass=replace(pass," ","") pass=replace(pass,":","") pass=replace(pass,".","") pass=replace(pass,"+","") pass=replace(pass,"_","") pass=replace(pass,"<","") pass=replace(pass,">","") pass=replace(pass,"!","") pass=replace(pass,"@","") pass=replace(pass,"#","") pass=replace(pass,"$","") pass=replace(pass,"%","") pass=replace(pass,"^","") pass=replace(pass,"&","") pass=replace(pass,"*","") pass=replace(pass,"(","") pass=replace(pass,")","") pass=replace(pass,"=","") pass=replace(pass,"\","") pass=replace(pass,"/","") pass=replace(pass,"|","") get_pass=pass end function %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值