仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1914|回复: 19
打印 上一主题 下一主题

[学习教程] ASP教程之一个分页的类

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:41:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;分页   <%
'-------------------------------------------
' 接口:
' 属性:
' a、tip:项目提醒(如,“篇文章”);
' b、tablewidth:跳转页导航宽度
' 办法:
' a、SetRsObj()办法:设置ADODB.RECORDSET对象;
' b、ControlPages()办法:显示跳转页导航(“上一页”、“下一页”……)
' c、SetParams()办法:设置参数数组
' 典范:
' dim params(1,1)
' params(0,0) = "query" : params(0,1) = request("query")
' params(1,0) = "keyword" : params(1,1) = request("keyword")
' 该数组次要传递查询关头字(如字段关头字、工夫等),第一维是参数称号,第二维是参数值:以下http://…….asp?topage=2&query=yes&keyword=a
'
' set PageCtrl = new CPageCtrl
' PageCtrl.SetRsObj (RS) '设置ADODB.RECORDSET对象,个中RS是已创立好的ADODB.RECORDSET,即所要掌握的纪录集
' PageCtrl.tip = "篇文章"
' PageCtrl.tablewidth = "100%"
' PageCtrl.SetParams params

' PageCtrl.DimPage (15) '分页界说,每页15笔记录
' PageCtrl.ControlPages() '显示跳转页导航
'-------------------------------------------

class CPageCtrl
public tip, tablewidth
private setobjflag, rsobj, pages, record, setparamsflag, current, topage
dim params()
'----------------------------------
private sub class_initialize()
tablewidth = "100%"
end sub
'---------------------------------
public function SetRsObj(obj)
set rsobj = obj
setobjflage = true
end function
'----------------------------------

private function chksetobj()
if setobjflage <> true then response.End()
end function
'----------------------------------

public function DimPage(psize) '分页界说
dim topages
topage = request("topage")

if not rsobj.eof then

if not isempty(psize) then
rsobj.pagesize = cint(psize) '界说每页显示数量
else
rsobj.pagesize = rsobj.recordcount
end if

pages = rsobj.pagecount
record = rsobj.recordcount

if topage <> empty then
topages = CInt(topage)

if topage <= 1 then
rsobj.absolutepage = 1
elseif topages >= pages then
rsobj.absolutepage = pages
else
rsobj.absolutepage = topages
end if
end if

current = rsobj.absolutepage
end if

end function
'----------------------------------

public function SetParams(arrParams())
params = arrParams
setparamsflag = true
end function

'----------------------------------

public function controlpages()
dim url

url = "http://" & request.ServerVariables("HTTP_HOST") & request.ServerVariables("URL")

if setparamsflag = true then
row = ubound(params,1)
col = ubound(params,2)
if col <> 1 then
exit function
end if

for i = 0 to row
if params(i,0) <> empty then
condition = condition & "&" & params(i,0) & "=" & params(i,1)
'生成参数
end if
next
end if

response.write "<table width='" & tablewidth & "' border='0' cellspacing='0' cellpadding='0'>"
response.write "<form action='" & url & "' method='post'>"
response.write "<tr> "
response.write "<td height='20'> 今朝共有 <font color='red'><b>" & record & "</b></font> "& tip & " 以后分页情况 <font color='red'><b>" & current & "/" & pages & "</b></font></td>"

if current <> 1 then
response.write "<td width='40' align='center' height='20'>"
response.write "<a href='" & url & "?topage=1" & condition & "'>首 页</a>"
response.write "</td>"
response.write "<td width='44' align='center' height='20'>"
response.write "<a href='" & url & "?topage=" & current-1 & condition & "'>上一页</a>"
response.write "</td>"
else
response.write "<td width='40' align='center' height='20'>"
response.write "<font color='#999999'>首 页</font>"
response.write "</td>"
response.write "<td width='44' align='center' height='20'>"
response.write "<font color='#999999'>上一页</font>"
response.write "</td>"
end if

if current <> pages then
response.write </p>  减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
沙发
发表于 2015-2-4 06:00:39 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
再现理想 该用户已被删除
板凳
发表于 2015-2-6 07:49:24 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
因胸联盟 该用户已被删除
地板
发表于 2015-2-6 10:19:34 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
第二个灵魂 该用户已被删除
5#
发表于 2015-2-8 09:08:45 | 只看该作者
那么,ASP.Net有哪些改进呢?
不帅 该用户已被删除
6#
发表于 2015-2-10 01:13:20 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
admin 该用户已被删除
7#
发表于 2015-2-28 10:27:31 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
爱飞 该用户已被删除
8#
发表于 2015-3-1 04:45:26 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
兰色精灵 该用户已被删除
9#
发表于 2015-3-6 06:34:41 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
乐观 该用户已被删除
10#
 楼主| 发表于 2015-3-7 19:22:59 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
若相依 该用户已被删除
11#
发表于 2015-3-11 03:06:17 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
透明 该用户已被删除
12#
发表于 2015-3-13 06:09:23 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
蒙在股里 该用户已被删除
13#
发表于 2015-3-18 02:38:39 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
若天明 该用户已被删除
14#
发表于 2015-3-25 09:45:03 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
谁可相欹 该用户已被删除
15#
发表于 2015-4-5 12:33:02 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
飘飘悠悠 该用户已被删除
16#
发表于 2015-4-8 18:57:42 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
冷月葬花魂 该用户已被删除
17#
发表于 2015-4-16 15:10:34 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
变相怪杰 该用户已被删除
18#
发表于 2015-4-21 03:34:21 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
只想知道 该用户已被删除
19#
发表于 2015-5-10 01:17:51 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
小魔女 该用户已被删除
20#
发表于 2015-7-3 16:35:49 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 18:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表