本日志标题:ASP应用之模板采用        [2004-5-29]

初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心得不偿失、前功尽弃。

所以,梦想着那么大段的程序代码变成几个简单的字符代替,这样只要设计好页面把该功能插入就OK了。其实这也简单,只需将实现该功能的程序代码做成子程序,然后主页调用就可以了。

很多时候,在博客中国,你会选择到很多的模板,甚至有可能自己来设计;或者采用猪飞飞BLOG的各大站长都将其站点改得不近相同……这些,我们都归功于ASP采用模板的功能。

那下面偶就借花献佛,将模板拿来分析,以馈各位朋友。

首先,模板需要在线修改,则应采用数据库保存模板代码

所谓的模板,就是设计完工的标准的HTML代码,其中需要由程序实现的功能部分将采用特殊字符串代替。然,这些特殊字符串需要在显示的时候被编译为对应的功能。

1,设计数据库testmb.mdb
新建表moban:字段m_id(自动编号,主关键字);字段m_html(备注类型)

2,假设第一模板内容代码

将下列代码拷贝到m_html字段中


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>testmb</title>
</head>
<body leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="5" cellspacing="2">
<tr align="right" bgcolor="#CCCCCC">
<td height="20" colspan="2">$cntop$</td>
</tr>
<tr valign="top">
<td width="25%" bgcolor="#e5e5e5">$cnleft$</td>
<td width="74%" bgcolor="#f3f3f3">$cnright$</td>
</tr>
</table>
</body>
</html>



注意$cntop$、$cnleft$、$cnright$,它们将要实现某些具体的程序功能

3,建立数据库连接文件conn.asp



<%
set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("testmb.mdb")
conn.Open connstr
%>



4,建立特殊字符串转换所需要的库文件lib.asp

该文件的主要作用是将实现某些功能的ASP程序做成字程序,以方便调用。



<%
dim topcode
sub cntop()
topcode="现在时间是:"
topcode=topcode&now()
end sub

dim leftcode,i
sub cnleft()
for i = 1 to 5
leftcode=leftcode&"<p>cnbruce.com"
next
end sub

dim rightcode
sub cnright()
for i = 1 to 9
rightcode=rightcode&"<hr color="&i&i&i&i&i&i&">"
next
end sub
%>



5,最后,调用数据库中的模板代码,将特殊字符串转换。



<!--#include file="conn.asp" -->
<!--#include file="lib.asp" -->
<%
sql="select * from moban where m_id=1"
set rs=Server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
mb_code=rs("m_html")
rs.close
set rs=nothing

cntop()
mb_code=replace(mb_code,"$cntop$",topcode)
cnleft()
mb_code=replace(mb_code,"$cnleft$",leftcode)
cnright()
mb_code=replace(mb_code,"$cnright$",rightcode)

response.write mb_code
%>



该页主要作用是将模板代码进行显示,并将其中的特殊代码转变为相对应子程序功能。

至此,ASP的模板功能基本完成,剩下的就是:建立具备编辑模板功能的程序页面,将库文件改变为自己所需要程序功能……


在百度搜索完整的ASP应用之模板采用内容,或者用Google搜索相关的更多内容

By [cnbruce] at 20:24:10 | 评论 [117] | 浏览 [129438] | TrackBack| 返回顶部

About Comments
很棒的解说
By [huerreson] at 2004-5-30 10:54:52
By [bts] at 2004-5-31 0:19:05
刚刚中专毕业,现在就做一间公司的程序员,这一段时间里我只做一些程序的修改。还不知道何时才能够做出自己的前台+后台的原创!!!


我想剩下自己的QQ:107705695,希望可以大家交流
By [107705695] at 2004-6-2 11:49:12
good
By [aspboy] at 2004-6-22 16:12:50
很好,继续加油
By [prettyboyone] at 2004-6-29 22:35:12
那数据库里面这些模板的代码怎么修改呢?
是不是要把那些复制粘贴出来? 那不是很麻烦?
By [yasia] at 2004-6-30 16:13:36
数据库里面这些模板的代码怎么修改?

修改数据库记录的页面程序会做?
By [cnbruce] at 2004-6-30 21:24:59
不错的思考,现在正在这样实施着!
By [hacker0722] at 2004-8-2 14:34:27
目前正在编写ASP利用模板生成HTML的例题,请关注:)
By [cnbruce] at 2004-8-3 13:21:52
http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=498
By [cnbruce] at 2004-8-7 17:26:35
By [909] at 2004-8-9 13:32:58
强~~
By [海春轩] at 2004-8-12 10:46:17
By [zhk168] at 2004-8-21 14:23:15
我已经加到下方Blog Links里面了, Kukuye

你有logo图片?上MSN啊。

[Edit on 2004-8-21 17:08:06 By cnbruce]
By [cnbruce] at 2004-8-21 17:05:44
你们站的这个站的这个部分存在注射漏洞.请及时修复

虽然你们不让用户看到错误信息,但是很明显
输入' 无法正常返回,而and 1=1 却正常返回 and 1=2 也不能正常返回
有经验的人就知道有漏洞.
我现在已经猜到密码字段 用户字段已经猜出,如果有耐心的人不多一会就能完全的猜出来
DjHacker
By [result] at 2004-10-10 15:01:02
BLOG有BUG已经是个公开的秘密了

不过可以声明的是:本站提供技术资源的服务,大家对本站也很眷睐,很少有极端分子来对本站做傻事的:)

话说过来,安全问题当然是要考虑的了,改版中

谢谢楼上的朋友
[Edit on 2004-10-10 15:27:16 By cnbruce]
By [cnbruce] at 2004-10-10 15:25:42
By [vcbjmnvbn] at 2004-11-2 10:57:35
狼哥,我认为这个文章中的方法是不是也可以做asp生成word文档的工作。比如我的文档是固定的,只是内容不同,每次只要提出要替换的数据部分就可以了,但最后怎么能生成一个word文档呢?就像你生成的shtml文件那样吗?
By [wisely] at 2004-11-12 8:25:53
在FSO生成时把.shtml该为.doc
By [cn-bruce] at 2004-11-12 8:51:31
By [呵呵] at 2004-12-2 9:17:28
不实用
PHP提供现成的模板,用的都不爽的
By [ybbqy] at 2004-12-6 16:18:05
By [00] at 2005-5-11 18:49:02
如果$cntop$所代表的要实现某些具体程序功能的部分是<%=rs("title")%>这样的ASP代码,那么lib.asp文件中该怎么写?我试了一下,怎么总报错呢?请指教.
<%
dim titlecode
sub cntop()
titlecode="<%=rs("title")%>"
end sub

By [pyq] at 2005-8-8 20:59:49
强人
By [1234] at 2005-8-13 22:01:49
Post a Comment
呢称: *验证码:
密码: 同时注册





By [aa] at 2005-11-6 16:14:44
应用模板技术和ASP2HTML有一段时间了,感觉问题仍然很多
和美工仍然不能很好地衔接
模板修改麻烦
同一目录下HTML文件过多反而影响性能,还不如ASP

AJAX能解决这些问题吗?感觉有门!关注中
By [tdk84e] at 2005-11-14 23:42:12
http://www.bqku.com
By [表情库] at 2005-12-6 14:56:08
By [567] at 2005-12-14 14:07:51
我用的office2000的access 在复制代码到m_html字段中的时候提示太长不能粘贴。。是access的问题吗??我设置的类型是 备注
By [mmine] at 2005-12-21 13:43:28
我把网页改成静态了,可是里面列表的更新问题一直解决不了,大大能告诉我下怎么解决这个问题吗?
有必要的话可以加我的QQ47801747
By [wlhmol] at 2005-12-29 16:21:38
还有就是我一直存在一个疑问,我从后台添加内容,添加一相就对应生成一张htm文件。
现在我这里数据还少,没那么多内容生成,到后来我想肯定会多起来的,这样生成的文件不是太多了些吗?应该会影响到整个网站的速度吧?
By [wlhmol] at 2005-12-29 16:24:24
我是菜鸟,问题多了些,最后两个问题哈,保证最后两个
我把生成的网页存放路径放在数据库里,从前一张网页的列表的标题点到详细内容进去,需要传递一个id读取路径,这个怎么实现? 我一直弄不好
最后一个问题哈
分页怎么做啊? 我做出来的分页和动态的没区别。。。
By [wlhmo] at 2005-12-29 16:35:12
By [hdfhs] at 2006-1-5 14:50:53
http://www.0to12.com/pic/newyear.htm

新年快乐
By [Happy2] at 2006-1-12 12:32:19
不错,想法很好的,有时间去我这里坐坐,www.sql8.net
By [SNIHCEL] at 2006-2-13 16:35:34
生成的html静态网页不会变动点击量,请问该怎么做?????
By [earun] at 2006-3-15 15:25:09
ASP自动生成HTML文件 做相关连接怎么做
相关主题
在最终页面HTML 自动生成相关主题连接
By [xlong327] at 2006-4-17 9:35:02
有得必有失,很多人都在研究,没有最完美的东西,只是个人的想法问题,通过努力很多东西都可以解决!顺便说下,我的网址 http://www.r808.com
By [475562641] at 2006-5-22 21:45:12
什么叫ASP?
By [笨笨免费网] at 2006-6-3 15:46:56
!!!!!!!!!!!!!!!!
By [*验证码:] at 2006-6-30 17:05:28
具备编辑模板功能的程序页面怎么写呢?
By [scc] at 2006-7-18 8:45:05
一直观注你的blog,很棒~~~~向你学习——蓝色的水
By [wowhhz] at 2006-8-14 0:00:55
看了版主上面最后生成的是用Response.write写出来的,但运行调试的时候还是要用.asp后缀的文件阿,如果我想把最后生成后缀为.html或.shtml的文件来运行调试是不是就要用到FSO?有没别的办法.........
By [whk] at 2006-8-31 10:13:38
''''
By ['''''] at 2006-8-31 17:04:00
By [AAAA] at 2006-9-10 0:31:36
挺不错的,路过,支持一下!
我的破站:http://web008.net
By [ly70041] at 2006-9-11 12:33:12
http://www.blogcn.com//u3/46/55/at87/blog/46568243.html
flash载入外部图片并实现淡入淡出/移动效果
By [adai] at 2006-11-18 23:50:54
不错,老就看过了,没想到出处在这儿

我的博客:
http://www.mzwu.com/
By [dnawo] at 2006-12-5 21:14:16
我的怎么老出错啊
By [lstx] at 2007-2-22 18:18:22
我也支付下
By [yang2jun] at 2007-6-16 14:33:01
3Q
By [myself] at 2007-9-10 22:48:46
根据你的的代码,但是我试了,不能用,不知道是怎么回事,留下QQ,欢迎大家与我交流.
By [阿来] at 2009-7-6 8:53:52
忘了发QQ240800879
By [阿来] at 2009-7-6 8:55:27
受益非浅,谢谢
By [grace] at 2009-7-17 11:58:20
请问三楼的兄弟,在公司做程序员需要什么条件吗
By [迷途小羔羊] at 2009-8-21 7:04:06
老兄,看到你写的静态页,挺好,但是你写的不完整,能不能写完整点呢,不能用啊,欢迎能用的朋友帮教教我啊,我的QQ240800879
感谢
By [阿来] at 2009-8-24 18:48:13
不知道能不能用 先试试,谢过楼主了!http://www.gaoxiao86.com
By [卡卡] at 2009-10-27 18:04:38
还可以把代码保存到数据库中啊,还没有试过,试试看看好不好用
By [joney] at 2009-11-6 11:32:00
受益匪浅 谢了 期待更好...... http://www.xiaoshe51.com
By [卡卡] at 2010-1-30 19:59:16
搜索了很多,原来原创在这里。谢谢。因为目前我手头的[a href=http://www.9blm.com ]http://www.9blm.com [/a]正需要
By [酒吧联盟网] at 2010-8-3 12:44:47
很好的文章,支持下。
http://www.chuxishi.com
By [布鲁斯兔] at 2010-10-13 14:50:21
非常好,我支持你
http://www.shengrizhufu.com
By [bottle] at 2010-11-10 19:17:21
asp我接触的少 现在都用php
但还是看看
http://www.fubaoning.info
By [北极狼] at 2011-1-28 18:11:41
http://www.anygolf.com.cn
By [南极狼] at 2011-3-25 21:13:56
http://www.uuclub.com.cn
By [UU] at 2011-8-5 22:41:41
http://blueskyxinyu.y5y5.info/
By [DONG] at 2011-8-10 11:07:39
更多学习分享:http://blueskyxinyu.y5y5.info/BBS/main.asp
By [DONG] at 2011-8-10 16:59:00
太有用了,谢谢楼上的朋友。我们的网站 http://www.p-e-china.com
By [学习] at 2011-8-26 15:19:32
受教了,感谢楼主,我们的网站:http://www.kmmflower.com/
By [study] at 2011-8-26 15:20:32
不过,受教了。。。哈哈
By [pechina] at 2011-10-25 9:19:26
添加到时能生成!但是更新怎么不能更新啊。
By [zxmxgf] at 2012-3-1 11:39:36
鐪嬩簡纭疄涓嶉敊銆傛湰浜虹綉鍧€www.mpv.cc
By [www.mpv.cc] at 2012-4-4 19:14:43
verygood
By [123123] at 2017-8-8 18:28:33


Post a Comment
呢称: 验证码: 
禁止笑脸转换 禁止UBB | 缩放输入框:6 5 | [Ctrl+Enter提交](1000个字符限制)