ASP教程之一个分页的类
由于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的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 那么,ASP.Net有哪些改进呢? 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 不能只是将它停留在纸上谈兵的程度上。
页:
[1]
2