發新話題

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">$cntoplt;/td>  

   </tr>  

   <tr valign="top">  

   <td width="25%" bgcolor="#e5e5e5">$cnleftlt;/td>  

   <td width="74%" bgcolor="#f3f3f3">$cnrightlt;/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的模板功能基本完成,剩下的就是:建立具備編輯模板功能的程序頁面,將庫文件改變為自己所需要程序功能……

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。