果洛皆料电子有限公司

ASP應(yīng)用之模板采用

  • 發(fā)布于:2019-08-29
  • 274 人圍觀
初學(xué)ASP,程序是能勉強(qiáng)寫(xiě)出來(lái)了,但若每進(jìn)行一次網(wǎng)站頁(yè)面的改版,所有的源程序都將進(jìn)行一次移植手術(shù)。為此所耗費(fèi)的人力精力不計(jì)其數(shù),甚至一不小心得不償失、前功盡棄。

所以,夢(mèng)想著那么大段的程序代碼變成幾個(gè)簡(jiǎn)單的字符代替,這樣只要設(shè)計(jì)好頁(yè)面把該功能插入就OK了。其實(shí)這也簡(jiǎn)單,只需將實(shí)現(xiàn)該功能的程序代碼做成子程序,然后主頁(yè)調(diào)用就可以了。

很多時(shí)候,在博客中國(guó),你會(huì)選擇到很多的模板,甚至有可能自己來(lái)設(shè)計(jì);或者采用豬飛飛BLOG的各大站長(zhǎng)都將其站點(diǎn)改得不近相同……這些,我們都?xì)w功于ASP采用模板的功能。

那下面偶就借花獻(xiàn)佛,將模板拿來(lái)分析,以饋各位朋友。

首先,模板需要在線修改,則應(yīng)采用數(shù)據(jù)庫(kù)保存模板代碼

所謂的模板,就是設(shè)計(jì)完工的標(biāo)準(zhǔn)的HTML代碼,其中需要由程序?qū)崿F(xiàn)的功能部分將采用特殊字符串代替。然,這些特殊字符串需要在顯示的時(shí)候被編譯為對(duì)應(yīng)的功能。

2,假設(shè)第一模板內(nèi)容代碼

將下列代碼拷貝到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$,它們將要實(shí)現(xiàn)某些具體的程序功能

3,建立數(shù)據(jù)庫(kù)連接文件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,建立特殊字符串轉(zhuǎn)換所需要的庫(kù)文件lib.asp

該文件的主要作用是將實(shí)現(xiàn)某些功能的ASP程序做成字程序,以方便調(diào)用。

〈%
dim topcode
sub cntop()
topcode="現(xiàn)在時(shí)間是:"
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,最后,調(diào)用數(shù)據(jù)庫(kù)中的模板代碼,將特殊字符串轉(zhuǎn)換。

〈!--#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
%〉

該頁(yè)主要作用是將模板代碼進(jìn)行顯示,并將其中的特殊代碼轉(zhuǎn)變?yōu)橄鄬?duì)應(yīng)子程序功能。

至此,ASP的模板功能基本完成,剩下的就是:建立具備編輯模板功能的程序頁(yè)面,將庫(kù)文件改變?yōu)樽约核枰绦蚬δ堋?
萬(wàn)企互聯(lián)
標(biāo)簽: