程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP代碼的對象化

ASP代碼的對象化

編輯:關於ASP編程
提起asp很多人就認為是一堆html腳本和被括在<%和%>之中的一些代碼還有就是一些javascript腳本等籌在一起的一些代碼的集合,這樣的代碼,再加上各類的不同格式的注釋,看起來就一個字:亂。也不管別人能不能看得懂,只要是能實現自己的目的就可以了,因為asp的代碼也是腳本,給了客戶也不可能不被人看到其中的內容,經多包容在dll中一部分業務邏輯,但是還是覺得asp代碼是最不值錢的代碼,沒有人回去購買,可以隨時從別人的網站中查看源碼的形式得到別人辛辛苦苦編寫出來的獨特風格的東東。這些原因使asp的發展成為了一種編的快忘的也快的代碼,可讀性,維護性也是各種語言中最為差的代碼。 
其實,asp代碼也可以像其他語言一樣的面向對象,模塊化,將很多頁面集成封裝到一個類中,運用類中的不同方法來顯示不同的頁面,這樣你可以將同一業務邏輯下的頁面和邏輯封裝到一個類裡,用不同的方法來實現。說了這麼多,可能大家的思路都亂了,趕快給大家一點范例來看看: 
<% 
'**************************************** 
'* 類名:clswebworkflowlog  
'* 功能:工作流日志跟蹤類 
'**************************************** 
class clswebworkflowlog 
'定義公開屬性存放connection對象 
public activeconnection 

private oresponse 

'======================================== 
'= 過程名:main 
'= 參 數: 
'= 功 能:主調函數 
'= 根據不同動作參數執行不同的操作 
'= 返回值: 
'======================================== 
sub main() 
select case request("act") 
case "list" 
list() 
case else 
list() 
end select 
end sub 

'======================================== 
'= 過程名:list 
'= 參 數: 
'= 功 能:顯示列表畫面 
'= 返回值: 
'======================================== 
sub list() 
dim ors 
set ors = activeconnection.execute("select *,(select name from wf_config where id=w.wf_id) as wfname from wf_log w where step_id=1 and user_id=" & session("usr")("uid")) 
'(select * from wf_log where id in (select max(id),wf_id,tab_id,rec_id from wf_log group by wf_id,tab_id,rec_id where wf_id= and tab_id=)) 
%> <p align="left"><img border="0" src="../images/desk/workflow-new.gif" width="32" height="32"><font color="#ff0000"><b>待辦事宜:</b></font></p> 
<center> 
<table bgcolor="#ffffff" border="1" bordercolordark="#ffffff" bordercolorlight="#c0c0c0" cellspacing="0" width="99%" height="25"> 
<tr> 
<td bgcolor="#808080" height="15"><font color="#ffffff">流程名稱</font></td> 
<td bgcolor="#808080" height="15"><font color="#ffffff">申請人</font></td> 
<td bgcolor="#808080" height="15"><font color="#ffffff">申請時間</font></td> 
<td bgcolor="#808080" height="15"><font color="#ffffff">完成時間</font></td> 
<td bgcolor="#808080" height="15"><font color="#ffffff">狀態</font></td> 
<td bgcolor="#808080" height="15"><font color="#ffffff">操作</font></td> 
</tr><% 
do while not ors.eof 
dim maxid,next_id 
if glbfunc.getmaxid(ors("id").value,activeconnection,maxid,next_id) then 
%><tr> 
<td bgcolor="#ffffff" height="19"><%=ors("wfname")%></a></td> 
<td bgcolor="#ffffff" height="19"><%=session("usr")("name")%> </td> 
<td bgcolor="#ffffff" height="19"><%=ors("exetime")%> </td> 
<td bgcolor="#ffffff" height="19"> </td> 
<td bgcolor="#ffffff" height="19"><%=glbfunc.getcurzt(ors("id").value,activeconnection)%></td> 
<td bgcolor="#ffffff" height="19"><p align="left"><a href="../pubexetab/pubexetab.asp?act=view&tab_id=<%=ors("tab_id")%>&id=<%=ors("rec_id")%>"><img src="../images/action/view.gif" border="0" alt="詳細" width="16" height="16"></a> <a href="javascript:newin('wfimage.asp?act=list&id=<%=ors("wf_id")%>&bz=1&step_id=<%=next_id%>',true,false,false,false,true);"><img src="../images/action/lcchuli.gif" border="0" alt="流程追蹤" width="16" height="16"></a> </p></td><% 
end if 
%></tr><% 
ors.movenext 
loop 
%></table>  
</center> 
<% 
end sub 


end class 
'**************************************** 
'* 類結束  
'**************************************** 

'**************************************** 
'asp頁面開始  
'**************************************** 
'輸出標准html頭 
glbfunc.writehead 
dim owebworkflowlog 
set owebworkflowlog = new clswebworkflowlog 
set owebworkflowlog.activeconnection = glbfunc.getadoconnection 
owebworkflowlog.main  
glbfunc.writetail() 
%> 
可以添加更多的方法,這樣這一個類就能完成以前多個asp文件的功能。訪問的時候,在 .asp之後加上參數(要訪問哪個函數)即可區分出來。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved