[
会员中心
] [
发布文章
][
发布软件
] [
中文繁體
]
文章
·
资料
电脑软件
手机软件
网站源码
电脑·手机·网络
学习
话题
娱乐
故事
文化·历史
国学典籍
法律法规
操作系统
网络
办公·文件
音频视频
图形图像
硬件·驱动程序
行业
教学学习
编程
游戏
安卓
苹果
鸿蒙
其他
ASP
ASP.NET
JSP
PHP
HTML
·
CSS
·
JavaScript
本 站 搜 索
文章
软件
[选项]
文章类别:
[全部]
电脑·手机·网络
话题
故事
文化·历史
娱乐
学习
法律·法规
国学典籍
搜索选项:
文章编号
文章标题
文章作者
文章来源
相关链接
关键字词
文章标签
文章内容
软件类别:
[全部]
操作系统
网络
办公·文件
音频视频
图形图像
行业
编程
教学学习
游戏
硬件·驱动程序
安卓系统
苹果系统
鸿蒙系统
其他系统
HTML·CSS·JavaScript
ASP
JSP
PHP
ASP.NET
搜索选项:
软件编号
软件名称
软件作者
软件来源
相关链接
关键字词
软件标签
软件简介
发 送 文 章
ASP+FSO+框架实现ASP生成HTML并分页的方法(批量)
〖
评论()
〗〖
留言
〗〖
收藏
〗
收信地址
填写收信人的电子邮箱
邮件主题
填写邮件主题
邮件内容
还是第一次在CSDN写文章,本人文采和理论知识有限,写得不正确的地方欢迎指正。其实网上已经有很多ASP生成htm的文章了,有一种方法是ASP+XML的生成方法,虽然有一种好处就是不用程序写模版就可以直接引用原来的要生成页面源码使用,但本人进行此方法测试时,发现其稳定性差和网速要求高(当然不是在服务器上了)。特别是虚拟空间上经常报错,有可能在本人在此方法上代码处理不足的原因吧。长话短说,这篇文章使用大家常用的另一种方法ASP+FSO,这里还应用了框架就是为了处理大量分页时减少生成时间使用的,这种方法是针对一些页面量较大的ASP文件。 这里我引用一个简单实例:(旅游电子商务)全国各大城市酒店应用静态页(htm)分页显示 1.应用系统环境:win2000+ASP+MSSQL/ACCESS(数据库基本没有关系了通用的)+iis5.0 2.1个城市列表(CityHtml):包括定义静态htm名称共三个字段(城市ID(自动编号),城市名称(CityName例如北京),生成htm前缀名(HtmlStartName例如beijing)) 3.1个全国酒店列表(Hotel):这里我只建立三个字段(酒店ID(自动编号),城市名称(City),酒店名称(HotelName))方便来引用实例。 4.1个ASP页面(ToHtm.asp)(生成htm使用) 5.1个循环框架页面(IframeToHtm.asp),应用框架批量生成htm 以下给出两个页面的源码 循环框架进行批量生成的页面:IFrameToHtm.asp !--#include file="conn.asp"--’连接数据库%dim rs,sql,jset rs=Server.CreateObject("adodb.recordset")sql="select * from CityHtml"’打开全国城市列表rs.open sql,conn,1,1do until rs.eof’循环各大城市%!--以下应用框架打开ToHtml生成页面--IFRame name="LoadRcHtm%=j%" frameborder=0 width=100% height=30 scrolling=no src="ToHtml.asp?City=%=cstr(rs("city"))%HtmlStartName=%=rs("HtmlStart")%"/IFrame%rs.movenextloop% 生成程序页面:ToHtm.asp 我在源码大概写上注释** !--#include file="conn.asp"--’数据连接文件%On Error Resume Next’容错处理Dim City’定义取得要生成页面的城市City=Request.Querystring("City")’获取生成的城市酒店值从框架传过来的在后面将介绍HtmlStartName=Request.Querystring("HtmlStartName")’获得生成htm文件名前缀Dim sql’搜索字符串,这里我就直接打开表不用搜索变量了,搜索条件按自己写就可以sql="select * from Hotel where [City] = ’" City "’ "Dim oRs’数据操作对象Dim PageCounts’实现分页生成必须得知呀有多少页Set oRs = Server.CreateObject("ADODB.Recordset")oRs.Open Sql,oConn,1,1’找开酒店等于City变量的表oRs.pagesize=10’十个记录为一页PageCounts=oRs.pagecount’得出要生成多少个页面,循环生成使用Dim fs’定义fso文件对象Dim folders’存放生成静态页的文件夹名称Dim Filestart’定义生成htm文件前缀Set fs=Server.CreateObject("Scripting.FileSystemObject")Dim ifor i=1 to PageCounts’开始循环生成页面,也就是分页生成了page=ioRs.absolutepage=i’页码rowcount=oRs.pagesize’当页记录数folders=server.mappath("CityHtml")if (fs.FolderExists(folders)) then’判断文件夹是否存在elsefs.CreateFolder(folders)’不存在则创建CityHtml文件夹end ifif i=1 then Filestart=HtmlStartName’如果为第一页则定义文件名为传值名.例如beijing则为beijing.htmelseFilestart=HtmlStartNamei’如果第二页则为beijing+1例如有两页也就是i等于2则为 beijing2.htm如此类推...(.htm后缀就在后面加上)end ifDim files’定义生成文本文件名称变量 Dim filez’定义文件路径名称变量files=Filestart".txt"’本文件名称filez=folders"\""files’文本文件路径’册除文件Dim checkfile’检查文本文件是否已经存在,是则删除checkfile=server.mappath("CityHtml\"Filestart".htm")’检查htm文件是否已经存在,是则删除if (fs.FileExists(checkfile)) then’检查htm文件是否已经存在,是则删除Dim df’定义文件对象*删除文件使用*Set df=fs.GetFile(checkfile)’定义要册除的文件df.delete’册除文件end if’判断结束Dim ts’定义写入文件对象set ts = fs.createtextfile(filez,true) ’开启写入文件内容**我在正文只简单写入酒店名称和静态数字分页显示**ts.write("HtmlHeadTitle生成"City"城市酒店/Title"vbcrlf)’之后就是要生成的正文件内容了跟使用Response.writets.write("META http-equiv=Content-Type content=text/html; charset=gb2312"vbcrlf)ts.write("meta name=keywords content="city"酒店"vbcrlf)ts.write("link href=’/Style/style.css’ rel=’stylesheet’ type=’text/css’/headbody topmargin=0"vbcrlf)ts.Write("TABLE WIDTH=760 cellspacing=0 cellpadding=0 align=center"vbcrlf_"TRTD width=’100%’"vbcrlf)’分页输出开始’数字分页程序原理在这我就不多说了,不懂的朋友可在网上搜索一下Dim page’当前页Dim Page2’数字分页变量Dim s’数字分页变量 if page=1 thents.write (" [首 页][前一页] ")elsets.write (" a href="HtmlStartName".htm"" class=blue[首 页]/aa href="HtmlStartNameReplace(page-1,1,"")".htm"" class=blue前一页/a ")end ifpage2=(page-(page mod 10))/10if page21 then page2=0for s=page2*10-1 to page2*10+10if s0 thenif s=cint(page) then ts.write (" font color=’#000000’[" s "]/font")elseif s=1 thents.write (" a href="HtmlStartNamereplace(s,1,"")".htm"" class=blue[" s "]/a")elsets.write (" a href="HtmlStartNames".htm"" class=blue[" s "]/a")end ifend ifif s=ors.pagecount thenexit forend ifend ifnextif cint(page)=ors.pagecount thents.write (" [后一页][尾 页]")elsets.write (" a href="HtmlStartNamepage+1".htm"" class=blue[后一页]/a a href="HtmlStartNameors.pagecount".htm"" class=blue[尾 页]/a")end if ts.write("/TD/TR")’分页输出结束do while not ors.eof and rowcount0 ’输出酒店名称 ts.write("TRTD width=’100%’"oRs.Fields("Chinese_Name")"/TD/TR"vbcrlf)oRs.movenext rowcount=rowcount-1’当页记录数-1 loopts.write("/Table/body/html"vbcrlf)ts.closeset ts=nothing ’释放对象Dim EditFile’定义改写文件变量Set EditFile = fs.GetFile(filez)’设置改写文件对象EditFile.name= left(EditFile.name,len(EditFile.name)-4)".htm" ’改写文本文件成htmnext’循环生成结束(分页生成)set EditFile=nothing ’释放对象set fs=nothing’释放对象if err.number0 then ’处理生成错误Response.write(City"更新时发生未知错误A href=ToHtml.asp?City="City"HtmlName="HtmlStartName"重新更新/A")elseResponse.Write(City"酒店更新已完成 "Now())end if%
文章网址:
https://dangbai.cn/Article.asp?ID=10002688
填写邮件内容
发信地址
填写发信人的电子邮箱
邮件签名
填写邮件签名
验证码
填写验证码,单击刷新验证码
程序执行中,请稍候...
发送协议
·欢迎使用本站在线文章发送系统。
·不得使用本站在线发送邮件系统发送垃圾邮件、广告邮件。
·如果收信人地址或其服务器出现错误,可能无法成功发送。
·如果有什么问题,或者意见建议,请联系[
网站管理员
]。
当百网
本站使用【啊估文章软件站】网站系统
〖
网站管理员留言簿
〗