怎么把ASP转成HTML?

html-css013

怎么把ASP转成HTML?,第1张

Asp转换为HTML2008-02-15 20:16字段c_id:自动编号,主关键字

字段c_title:文本类型,保存文章标题

字段c_content:备注类型,保存文章内容

字段c_filepath:文本类型,保持生成文件的路径地址

字段c_time:日期/时间类型,默认值:Now()

三、页面需求设计

1、首先建立一个存放HTML页的文件夹

在文件同一目录下,建立文件夹newsfile,夹子内部主要存放生成的HTML页面,当然内部还会采用程序方式建立以日期命名的子文件夹,以方便浏览以及管理。

2、功能函数页面lib.asp

引用:

<%

'生成文件名的函数

function makefilename(fname)

fname = fname

fname = replace(fname,"-","")

fname = replace(fname," ","")

fname = replace(fname,":","")

fname = replace(fname,"PM","")

fname = replace(fname,"AM","")

fname = replace(fname,"上午","")

fname = replace(fname,"下午","")

makefilename=fname &".shtml"

end function

'保持数据格式不变的函数

function HTMLEncode(fString)

fString = replace(fString, ">", ">")

fString = replace(fString, "<", "<")

fString = Replace(fString, CHR(32), " ")

fString = Replace(fString, CHR(13), "")

fString = Replace(fString, CHR(10) &CHR(10), "<br>")

fString = Replace(fString, CHR(10), "<br>")

HTMLEncode = fString

end function

%>

3、数据库连接页面conn.asp

完成数据库的字符串连接方法

<%

set conn = Server.CreateObject("ADODB.Connection")

connstr = "Provider=Microsoft.Jet.OLEDB.4.0Data Source="&Server.MapPath("asp2html.mdb")

conn.Open connstr

%>

4、信息输入页面add.html

其实很简单,就是表单嘛。注意action是跳转到addit.asp

引用:

<form action="addit.asp" method="post">

Title:<input type="text" name="c_title"><br>

Content:<br>

<textarea name="c_content" rows="8" cols="30"></textarea><br>

<input type="submit" value="Add">

<input type="reset" value="Reset">

</form>

5、处理数据功能显示页面addit.asp

首先是处理接受过来的数据,并将值写入数据库;接着将模板代码进行引用,并将其中特殊代码转换为接受值,最终通过FSO生成HTML页面。其中需要注意的还有,生成文件的路径地址保存至数据库表。

引用:

<%'容错处理

On Error Resume Next

%>

<!--#include file="conn.asp" -->

<!--#include file="lib.asp" -->

<%'接受传递值

c_title=request.form("c_title")

c_content=request.form("c_content")

%>

<%'生成HTML文件名,建立文件夹,指定文件路径

fname = makefilename(now()) 'makefilename为自定义函数

folder = "newsfile/"&date()&"/"

filepath = folder&fname

%>

<%'将接受值及路径保持至数据库表

sql = "Select * from c_news"

Set rs = Server.CreateObject ("ADODB.Recordset")

rs.Open sql,conn,3,2

rs.addnew

rs("c_title")=c_title

rs("c_content")=c_content

rs("c_filepath")=filepath

rs.update

rs.close

Set rs = Nothing

%>

<%'打开模板代码,并将其中特殊代码转变为接受值

sql1="select m_id,m_html from c_moban where m_id=1"

set rs1=Server.CreateObject("adodb.recordset")

rs1.open sql1,conn,1,1

mb_code=rs1("m_html")

rs1.close

set rs1=nothing

conn.close

set conn=nothing

c_title=htmlencode(c_title)

c_content=htmlencode(c_content)

mb_code=replace(mb_code,"$cntop{LogContent}quot,now())

mb_code=replace(mb_code,"$cnleft{LogContent}quot,c_title)

mb_code=replace(mb_code,"$cnright{LogContent}quot,c_content)

%>

<%'生成HTML页面

Set fso = Server.CreateObject("Scripting.FileSystemObject")

fso.CreateFolder(Server.MapPath(folder))

Set fout = fso.CreateTextFile(Server.MapPath(filepath))

fout.WriteLine mb_code

fout.close

%>

文章添加成功,<a href="showit.asp">浏览</a>

可以做到:

在iis(以iis6为例)设置的站点上鼠标右键属性》主目录》配置》映射》缓存 ISAPI 扩展》然后点击 添加 按钮,在 可执行文件 中填写 “

C:\WINDOWS\system32\inetsrv\asp.dll” ,扩展名填写“html” ,动作选择 限制为 ,内容请填写:

GET,HEAD,POST,TRACE

确定就ok了。

使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为服务器端嵌入或者叫服务器端包含,是一种类似于ASP的基于服务器的网页制作技术。SSI工作原理:将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI 文件扩展名。默认扩展名是 .stm、.shtm 和 .shtmlWeb 服务器在处理网页的同时处理 SSI 指令。当 Web 服务器遇到 SSI 指令时,直接将包含文件的内容插入 HTML 网页。如果“包含文件”中包含 SSI 指令,则同时插入此文件。除了用于包含文件的基本指令之外,还可以使用 SSI 指令插入文件的相关信息(如文件的大小)或者运行应用程序或 shell 命令。