ASP代码的对象化

原创 2004年02月20日 11:30:00

 

    提起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="../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.Net】五大对象

学习Asp.Net时候,亲爱的于老师讲解了五大对象。趁着知识还没有忘记,趁热打铁,好好的总结一下。下面跟着我学习一下Asp.Net的五大对象。 Application 在没有学习Asp.Net...
  • Alisawxn
  • Alisawxn
  • 2016年06月07日 09:42
  • 1019

java基础之关于面向对象和面向过程的理解

java基础之关于面向对象和面向过程的理解
  • u011526599
  • u011526599
  • 2016年05月07日 13:41
  • 3938

爱恩 asp 生成json数据

  • boys1999
  • boys1999
  • 2015年02月06日 22:17
  • 683

Java中创建(实例化)对象的五种方式

Java中创建(实例化)对象的五种方式 1、用new语句创建对象,这是最常见的创建对象的方法。 2、通过工厂方法返回对象,如:String str = String.valueOf(23);  3、...
  • ching_zhi
  • ching_zhi
  • 2016年12月28日 11:13
  • 2272

jQuery源码学习之三 (jQUery对象的实例属性和方法)

相关jQuery源码: jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: ...
  • hdchangchang
  • hdchangchang
  • 2014年07月14日 10:51
  • 4184

ASP.NET MVC 控制器激活(一)

ASP.NET MVC 控制器(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅所留...
  • JinYuan0829
  • JinYuan0829
  • 2014年06月10日 23:02
  • 911

【引用】asp代码过滤包括空格

和大家分享这篇日志,我的看法是:  原文地址:asp代码过滤包括空格    原文作者:lovercoca Function RemoveHTML(strHTML) ON ERROR RESUME ...
  • hawk140
  • hawk140
  • 2016年08月28日 11:46
  • 206

asp购物车源码

无标题文档 a{text-decoration:none;} td,div{font-size:12px}
  • quweiie
  • quweiie
  • 2014年05月18日 13:27
  • 3483

ASP上传图片代码例子

index.asp
  • tomora
  • tomora
  • 2013年09月15日 10:25
  • 2968

java对象实例化的几种方法

Java 对象实例化的几种方法
  • csolo
  • csolo
  • 2016年12月23日 16:23
  • 4143
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP代码的对象化
举报原因:
原因补充:

(最多只允许输入30个字)