ASP应用之模板采用
生活随笔
收集整理的這篇文章主要介紹了
ASP应用之模板采用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
初學ASP,程序是能勉強寫出來了,但若每進行一次網站頁面的改版,所有的源程序都將進行一次移植手術。為此所耗費的人力精力不計其數,甚至一不小心得不償失、前功盡棄。
所以,夢想著那么大段的程序代碼變成幾個簡單的字符代替,這樣只要設計好頁面把該功能插入就OK了。其實這也簡單,只需將實現該功能的程序代碼做成子程序,然后主頁調用就可以了。
很多時候,在博客中國,你會選擇到很多的模板,甚至有可能自己來設計;或者采用豬飛飛BLOG的各大站長都將其站點改得不近相同……這些,我們都歸功于ASP采用模板的功能。
那下面偶就借花獻佛,將模板拿來分析,以饋各位朋友。
首先,模板需要在線修改,則應采用數據庫保存模板代碼
所謂的模板,就是設計完工的標準的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的模板功能基本完成,剩下的就是:建立具備編輯模板功能的程序頁面,將庫文件改變為自己所需要程序功能……
所以,夢想著那么大段的程序代碼變成幾個簡單的字符代替,這樣只要設計好頁面把該功能插入就OK了。其實這也簡單,只需將實現該功能的程序代碼做成子程序,然后主頁調用就可以了。
很多時候,在博客中國,你會選擇到很多的模板,甚至有可能自己來設計;或者采用豬飛飛BLOG的各大站長都將其站點改得不近相同……這些,我們都歸功于ASP采用模板的功能。
那下面偶就借花獻佛,將模板拿來分析,以饋各位朋友。
首先,模板需要在線修改,則應采用數據庫保存模板代碼
所謂的模板,就是設計完工的標準的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应用之模板采用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 973分成功通过CCNA。。
- 下一篇: .net面试题大全,绝大部分面试题