网络编程 
首页 > 网络编程 > 浏览文章

ASP代码的对象化

(编辑:jimmy 日期: 2024/10/8 浏览:3 次 )
提起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="/UploadFiles/2021-04-02/workflow-new.gif"><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="/UploadFiles/2021-04-02/view.gif">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之后加上参数(要访问哪个函数)即可区分出来。
上一篇:把字符串转换成数据库SQL语句格式
下一篇:利用AdoDb.Stream对象来读取UTF-8格式的文本文件
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?