欢迎光临
我们一直在努力

asp代码的对象化_asp技巧

建站超值云服务器,限时71元/月

doface(原作)


提起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=”http://www.knowsky.com/../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=”http://www.knowsky.com/../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=”http://www.knowsky.com/../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之后加上参数(要访问哪个函数)即可区分出来。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » asp代码的对象化_asp技巧
分享到: 更多 (0)