ASP代码的对象化

doface(原作)

提起ASP很多人就认为是一堆HTML脚本和被括在``` 和

1其实,ASP代码也可以像其他语言一样的面向对象,模块化,将很多页面集成封装到一个类中,运用类中的不同方法来显示不同的页面,这样你可以将同一业务逻辑下的页面和逻辑封装到一个类里,用不同的方法来实现。说了这么多,可能大家的思路都乱了,赶快给大家一点范例来看看: 

'****************************************

'* 类名:clsWebWorkFlowLog

'* 功能:工作流日志跟踪类

'* History:

'* 作成:doface

'* 日期:2003/10/24 Ver 1.0

'* 改动:

'* 日期:

'****************************************

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=))

待办事宜:

``` ```
```

do while not oRs.eof
dim maxID,Next_id
if glbFunc.getMaxID(oRs("id").value,ActiveConnection,maxID,Next_id) then

 1<td bgcolor="#ffffff" height="19">```
 2=oRs("wfname")
 3```</td>
 4<td bgcolor="#ffffff" height="19">```
 5=session("usr")("name")
 6``` </td>
 7<td bgcolor="#ffffff" height="19">```
 8=oRs("exetime")
 9``` </td>
10<td bgcolor="#ffffff" height="19"> </td>
11<td bgcolor="#ffffff" height="19">```
12=glbFunc.getCurZT(oRs("id").value,ActiveConnection)
13```</td>
14<td bgcolor="#ffffff" height="19"><p align="left"><a =ors("rec_id")="" ```"="" ```&id="```" href="../PubExeTab/PubExeTab.asp?act=view&amp;amp;tab_id=```
15=oRs(" tab_id")=""><img alt="详细" border="0" height="16" src="../images/action/view.gif" width="16"/></a> <a =next_id="" ```&amp;bz="1&amp;amp;step_id=```" ```',true,false,false,false,true);"="" href="javascript:newin('wfimage.asp?act=list&amp;amp;id=```
16=oRs(" wf_id")=""><img alt="流程追踪" border="0" height="16" src="../images/action/lcchuli.gif" width="16"/></a> </p></td>```
17   
18end if   
19
20```</tr>```
21   
22oRs.movenext   
23loop   
24
25```</table>
26</center>
 1   
 2end sub   
 3
 4
 5  
 6end class   
 7'****************************************   
 8'* 类结束   
 9'**************************************** 
10
11  
12'****************************************   
13'ASP页面开始   
14'**************************************** 
15
16'输出标准HTML头   
17glbFunc.writeHEAD 
18
19dim oWebWorkFlowLog   
20set oWebWorkFlowLog = new clsWebWorkFlowLog   
21set oWebWorkFlowLog.ActiveConnection = glbFunc.getADOConnection 
22
23oWebWorkFlowLog.main 
24
25glbFunc.writeTail()   

可以添加更多的方法,这样这一个类就能完成以前多个ASP文件的功能。访问的时候,在 .ASP之后加上参数(要访问哪个函数)即可区分出来。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus
流程名称申请人申请时间完成时间状态操作