只想知道 发表于 2015-1-16 23:35:36

ASP网页编程之创立一个ASP分页类(一)文章部分

ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。创立|分页创立一个ASP通用分页类



平波



从入手下手进修到利用ASP到如今也写了很多程序了,最使人头痛的是写数据分页,每次都是因为几个变量名或几个参数的分歧,因此必要每次都写哪一段冗杂而又冗杂的分页代码,代码长了使得程序的可读性变差,简单出差,调试半天也找不堕落在那里,以是渐渐的我入手下手利用一些网上的供应的分页函数或分页类。切实其实费事很多,可是一般的函数和类的做法都是就数据显现部分也封装了起来,每次为了到达本人必要的显求效果要往修改函数大概类的自己,以是利用起来也不是怎样便利,本人写的分页改起来已够庞大了,更不要说他人的了。

以是趁今天有空本人写了一个分页的类,自我感到优秀(不要用鸡蛋砸我),在这里和人人分享一下本人的履历(谈不上履历,感受吧)。在这里我也不想说分页的道理了,归正人人都懂,要我往深切的谈我也不会。呵呵。

1、创立分页类的方针
在写之前,我曾想过,我事实要写怎样一个类,回忆起之前写分页历程的时分,最烦的莫过于每次都要写哪一段庞大的分页代码,最年夜的懊恼每次都是仅仅几个变量名的分歧。以是第一个要完成的就是要把这个封装起来,第二个就是要把分页的导航条也封装起来,第三个,不习气哪些把数据显现部分也封装起来的办法,这不是便利编程,对与哪些对显现效果每次都分歧的用户来讲,比本人写分页还要贫苦。以是我的目地就是对RecordSet举行一些复杂的封装。

2、创立历程
以是我写的第一个属性,就是返一个经由处置的RecordSet



PublicPropertyGetGetRs()

SetXD_Rs=Server.createobject("adodb.recordset")

XD_Rs.PageSize=PageSize

XD_Rs.OpenXD_SQL,XD_Conn,1,1

Ifnot(XD_Rs.eofandXD_RS.BOF)Then

Ifint_curpage>XD_RS.PageCountThen

int_curpage=XD_RS.PageCount

EndIf

XD_Rs.AbsolutePage=int_curpage

EndIf

SetGetRs=XD_RS

EndProperty






这个属性的感化是更据指定RecordSet确当后面,并到指针指向以后页的第一笔记录,这个应当就是全部类的完成份页的中心了,固然,个中的一些参数是靠别的的属性来猎取,以是这里特地先容一个这个类所要的基础参数

=============================================

GetConn失掉数据库毗连



=============================================

PublicPropertyLetGetConn(obj_Conn)

SetXD_Conn=obj_Conn

EndProperty



=============================================

GetSQL失掉查询语句



==============================================

PublicPropertyLetGetSQL(str_sql)

XD_SQL=str_sql

EndProperty

===============================================

PageSize属性

设置每页的分页巨细

===============================================

PublicPropertyLetPageSize(int_PageSize)

IfIsNumeric(Int_Pagesize)Then

XD_PageSize=CLng(int_PageSize)

Else

str_error=str_error&"PageSize的参数不准确"

ShowError()

EndIf

EndProperty

PublicPropertyGetPageSize

IfXD_PageSize=""or(not(IsNumeric(XD_PageSize)))Then

PageSize=10

Else

PageSize=XD_PageSize

EndIf

EndProperty


以上几个是在利用类的历程必须要指定的参数,已经我在写属性的时分对每一个传进的参数加上IsObject(obj_conn)等判别,为的是类的强健,可是厥后想来想往,这个对与ASP来讲没有需要,不加还能加速点速率,至于为何如许,我想列位在利用过程当中也会发明,加还不如不加。这也是我经由了头脑奋斗今后才往失落了,只保存了一些需要的考证。



另有一个参数就是以后页的取得,在程序中我用int_curpage来标识,这个的话放在类的创立过程当中取得在好也没有了

PrivateSubClass_Initialize

========================

设定一些参数的a认值

========================

XD_PageSize=10设定分页的默许值为10

========================

猎取以后面的值

========================

Ifrequest("page")=""Then

int_curpage=1

ElseIfnot(IsNumeric(request("page")))Then

int_curpage=1

ElseIfCInt(Trim(request("page")))<1Then

int_curpage=1

Else

Int_curpage=CInt(Trim(request("page")))

EndIf

EndSub


到这里这个类分的功效基础已完成了,只需在挪用这个类的页面的URL前面加上page=n,它就会显现第n页的内容了,以是接下往要做的就是创立一个数据导航条了,我把它计划为相似以面的情势

934:页次:1/8页共51笔记录7条/每页



在页面里经由过程挪用ShowPage()的办法显现出来,ShowPage能够在GetRS今后的恣意地位挪用,也能够挪用屡次

PublicSubShowPage()

Dimstr_tmp

int_totalRecord=XD_RS.RecordCount

Ifint_totalRecord<=0Then

str_error=str_error&"总纪录数为零,请输出数据"

CallShowError()

EndIf

Ifint_totalRecord<pagesizeThen

int_TotalPage=1

Else

Ifint_totalRecordmodPageSize=0Then

int_TotalPage=C</p>由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。

柔情似水 发表于 2015-1-20 10:06:11

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

兰色精灵 发表于 2015-1-22 14:41:18

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

透明 发表于 2015-1-25 19:41:16

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

深爱那片海 发表于 2015-2-3 17:54:57

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

愤怒的大鸟 发表于 2015-2-9 04:17:03

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

只想知道 发表于 2015-2-26 21:36:17

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

山那边是海 发表于 2015-3-8 18:05:41

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

仓酷云 发表于 2015-3-16 09:09:47

不能只是将它停留在纸上谈兵的程度上。

乐观 发表于 2015-3-22 22:08:14

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

若天明 发表于 2015-3-22 22:08:15

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

admin 发表于 2015-3-22 22:08:15

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

若相依 发表于 2015-3-22 22:08:15

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP网页编程之创立一个ASP分页类(一)文章部分