快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP代码的对象化

提起ASP很多人就认为是一堆HTML脚本和被括在<%和%>之中的一些代码还有就是一些JAVASCRIPT脚本等筹在一起的一些代码的集合,这样的代码,再加上各类的不同格式的注释,看起来就一个字:乱。也不管别人能不能看得懂,只要是能实现自己的目的就可以了,因为ASP的代码也是脚本,给了客户也不可能不被人看到其中的内容,经多包容在DLL中一部分业务逻辑,但是还是觉得ASP代码是最不值钱的代码,没有人回去购买,可以随时从别人的网站中查看源码的形式得到别人辛辛劳苦编写出来的独特风格的东东。这些原因使ASP的发展成为了一种编的快忘的也快的代码,可读性,维护性也是各种语言中最为差的代码。
其实,ASP代码也可以像其他语言相同的面向对象,模块化,将很多页面集成封装到一个类中,运用类中的不同方式来显示不同的页面,这样你可以将同一业务逻辑下的页面和逻辑封装到一个类里,用不同的方式来实现。说了这么多,可能大家的思路都乱了,赶紧给大家一点范例来看看:

<%

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")%>&nbsp;</td>
<td bgColor="#ffffff" height="19"><%=oRs("exetime")%>&nbsp;</td>
<td bgColor="#ffffff" height="19">&nbsp;</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>&nbsp;<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>&nbsp;</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之后加上参数(要访问哪个函数)即可区分出来。
返回类别: 教程
上一教程: 分解质因数(ASP 分布递归法)
下一教程: ASP 编程中 15 个异常有用的例子

您可以阅读与"ASP代码的对象化"相关的教程:
· 熟悉ASP内置的对象
· ASP的对象结构
· ASP实现隐藏网页代码的一种方式
· DELPHI编写组件封装ASP代码的基本步骤
· 查看ASP源代码的方式
    微笑服务 优质保证 索取样品