当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP代码的对象化

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP代码的对象化


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 171 ::
收藏到网摘: n/a

提起ASP很多人就认为是一堆HTML脚本和被括在<%和%>之中的一些代码还有就是一些JAVASCRIPT脚本等筹在一起的一些代码的集合,这样的代码,再加上各类的不同格式的注释,看起来就一个字:乱。也不管别人能不能看得懂,只要是能实现自己的目的就可以了。
因为ASP的代码也是脚本,给了客户也不可能不被人看到其中的内容,经多包容在DLL中一部分业务逻辑,但是还是觉得ASP代码是最不值钱的代码,没有人回去购买,可以随时从别人的网站中查看源码的形式得到别人辛辛苦苦编写出来的独特风格的东东。这些原因使ASP的发展成为了一种编的快忘的也快的代码,可读性,维护性也是各种语言中最为差的代码。
其实,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=))
%> <p align="left"><img border="0" src="/upload/tech/20091012/20091012011821_3c59dc048e8850243be8079a5c74d079.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="/upload/tech/20091012/20091012011821_b86e8d03fe992d1b0e19656875ee557c.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="/upload/tech/20091012/20091012011822_1be3bc32e6564055d5ca3e5a354acbef.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之后加上参数(要访问哪个函数)即可区分出来。