ASP代码的对象化

提起asp很多人就认为是一堆html脚本和被括在<%和%>之中的一些代码还有就是一些javascript脚本等筹在一起的一些代码的集合,这样的代码,再加上各类的不同格式的注释,看起来就一个字:乱。也不管别人能不能看得懂,只要是能实现自己的目的就可以了,因为asp的代码也是脚本,给了客户也不可能不被人看到其中的内容,经多包容在dll中一部分业务逻辑,但是还是觉得asp代码是最不值钱的代码,没有人回去购买,可以随时从别人的网站中查看源码的形式得到别人辛辛苦苦编写出来的独特风格的东东。这些原因使asp的发展成为了一种编的快忘的也快的代码,可读性,维护性也是各种语言中最为差的代码。 
其实,asp代码也可以像其他语言一样的面向对象,模块化,将很多页面集成封装到一个类中,运用类中的不同方法来显示不同的页面,这样你可以将同一业务逻辑下的页面和逻辑封装到一个类里,用不同的方法来实现。说了这么多,可能大家的思路都乱了,赶快给大家一点范例来看看: 
<% 
'**************************************** 
'* 类名:clswebworkflowlog  
'* 功能:工作流日志跟踪类 
'**************************************** 
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")%> </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="../images/action/view.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="../images/action/lcchuli.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之后加上参数(要访问哪个函数)即可区分出来。

(0)

相关推荐

  • ASP代码的对象化

    提起asp很多人就认为是一堆html脚本和被括在<%和%>之中的一些代码还有就是一些javascript脚本等筹在一起的一些代码的集合,这样的代码,再加上各类的不同格式的注释,看起来就一个字:乱.也不管别人能不能看得懂,只要是能实现自己的目的就可以了,因为asp的代码也是脚本,给了客户也不可能不被人看到其中的内容,经多包容在dll中一部分业务逻辑,但是还是觉得asp代码是最不值钱的代码,没有人回去购买,可以随时从别人的网站中查看源码的形式得到别人辛辛苦苦编写出来的独特风格的东东.这些原因使as

  • ASP代码加密

    ASP代码一般是明文,很少有加密的,MS有个工具Script Encoder可以加密,这个东东可以微软官方网站免费下载,而且还有详细使用说明,但是经过它加密后的文件会有<%@ language = vbscript.encode %>,管理员看到这句话就知道这个asp文件被加密了.而且也有相关的解密文件. 本文提供一种简单的方法,可以加密ASP代码,主要思路是将代码做些运算,比如将全部代码移动一位,基本上就算加密了,主要的加解密函数如下: function UnEncode(temp) but

  • 添加超级用户的.asp代码[蓝屏的原创,凯文改进,Ms未公布的漏洞]

    添加超级用户的.asp代码[蓝屏的原创,凯文改进,Ms未公布的漏洞] 作者:蓝屏,凯文 文章来源:冰点极限其实上个礼拜我和凯文就在我的肉鸡上测试了,还有河马史诗.结果是在user权限下成功添加Administrators组的用户了(虽然我不敢相信我的眼睛). 上次凯文不发话,我不敢发布啊....现在在他的blog 上看到他发布了,就转来了咯(比我上次测试时还改进了一点,加了个表单).这下大家有福咯``` 反正代码是对的,但是很少能成功,具体的看运气了..呵呵,下一步我想把他整合到海洋里面去.嘿嘿

  • 关于Asp代码与页面的分离模板技术第1/3页

    在使用ASP制作一个站点的时候,常常会出现一个ASP文件中,程序代码和HTML代码混合的情况.这样子做有许多缺点: 1.编程时就要对页面布局进行设计和编排,造成代码混乱难懂,不规范; 2.当需要改变页面外观时,你不仅要改变HTML部份,也需要改变ASP代码,不易维护. 那么,要如何才能避免这些麻烦呢? 答案就是使用模板文件,将ASP代码和HTML页面分开,一切问题就都解决了.使用模板有以下好处: 1.在很短的时间内可以替换整个站点的外观; 2.使程序员可以抽象编程,而无须接触HTML代码; 3.

  • 使用模板实现ASP代码与页面分离

    每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码难以理解.难以修改:程序编写必须在美工之后,成为项目瓶颈:整合的程序代码和HTML静态页面时,花费大量的时间才能得到理想的效果,兼作了美工.的确,用脚本语言开发Web应用不容易将数据的处理和数据的显示分开,但在多人合作的情况下,如果无法将数据和显示分开,将大大影响开发的效率,专业分工的发挥. 其它的脚本语言,如JSP.PHP都有自己的解决方案,ASP的后一代

  • ASP 代码出现80040e14错误的解决方法

    好久没有写ASP代码了,今天在做一个简单的留言本时,出现了一下错误: Microsoft Office Access Database Engine 错误 '80040e14' Insert INTO 语句的语法错误. 上网查了一下资料,才知道该错误是由一下原因造成的: 1)将保留字用作名称.大多数数据库都有一组保留字.例如,"name"是保留字,因而不能用于数据库中的列名称. 2)名称中使用特殊字符.特殊字符的示例包括: . / * : ! # & - ? 3)在列名称中使用

  • 生成EAN13标准的条形码的ASP代码实例

    复制代码 代码如下: <title>条形码生成</title><%Rem =================================================================Rem = 函数:ean13Rem = 说明:生成EAN13标准的条形码,有实例(ASP代码)Rem = 版本:1.0.0Rem = 作者:第七种直角(7th/semico)Rem = Date:2005-08-08 11:57:06Rem = QQ:11110785Rem

  • 统计有多少行JS代码和ASP代码

    计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节有示例代码 复制代码 代码如下: <% '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ '\\ '\\    来自 codeproject.com '\\    计算js和asp代码 '\\    修改 bluedestiny '\\    mail:bluedestiny at 126.com '\\ '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  • 实用301转向到另一域名相应页面的asp代码

    前几天,为了增强本站的SEO,着手把另一个域名:www.kanshule.com下的所有页面301转向到www.jb51.net下. 由于本站目前只有一个博客,于是从博客上入手. 思路很简单,获取当前浏览页面的域名,如果是需要转向的域名,再替换域名部分,做为新地址来301转向. 代码如下: 复制代码 代码如下: <% Dim toDomain,fromDomain,curDomain,q,p,url toDomain=www.jb51.net fromDomain="kanshule.co

  • 值得收藏的一些HTML、JavaScript、ASP代码

    1. CDONTS.NewMail 组件使用说明 Set MailObject = Server.CreateObject("CDONTS.NewMail")   MailObject.From = "发信邮箱"   MailObject.To = "收信邮箱"   MailObject.Cc = "抄送邮箱"   MailObject.Bcc = "密送邮箱"   MailObject.Subject =

随机推荐