flash和asp分页的一点心得与flash脚本

看了这个的一些帖子,学到了很多东西,现在和大家一起分享 
  flash现在只是一个显示的功能,过程中看了一些别人的东西,觉得分页似乎有很简单的实现方式.基本上都是用xml传送的.显示用 list 组件和 datagrid 都可以,这里我用的是动态文本,因为觉得组件用的太麻烦了.所以用了蠢办法,没办法,找不到更好的~~~下面代码中的 list[..]就是动态文本的名趁,一次显示15条

//显示程序如下:

//桢名称 "list" 
stop(); 
var logList = new XML(); 
var logroot; 
var page:Number; //当前页 
var Tpage:Number; //保存总页 
var Tnum:Number; //总日志数 
var logname:String; //日志分类名称 
var temp; 
var i:Number;

//这里我用一个数组储存了对应的id号,如果用组件就不用这么麻烦了 
var ids = new Array(15);

//两个按钮,用来翻页 
bn_u.enabled = false; 
bn_d.enabled = false; 
if (page == null or page<1) { 
page = 1; 

//------------------------------ 
//清除函数; 
function myclear() { 
for (i=1; i<16; i++) { 
ids[i-1] = 0; 
list["lbn"+i]._visible = false; 
list["ltitle"+i].text = ""; 
list["lauthor"+i] = ""; 
list["ltime"+i] = ""; 


//-------------------------------------- 
//-------------------------------------- 
myclear(); 
pageInfo.text = "正在读取数据..."; 
logList.ignoreWhite = true; 
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+page); 
//------------------------------------------------ 
//get数据函数 
function logFunc(e) { 
if (e) { 
logroot = logList.firstChild; 
logname = logroot.attributes.logname; 
Tpage = logroot.attributes.Tpage; 
Tnum = logroot.attributes.Tnum; 
temp = logroot.firstChild; 
list.ltitle1.text = Ftitle(temp.firstChild.nodeValue, 22); 
list.lauthor1 = temp.attributes.author; 
list.ltime1 = temp.attributes.Addtime; 
ids[0] = temp.attributes.id; 
i = 1; 
list.lbn1._visible = true; 
//循环读取节点 
while (temp.nextSibling != null) { 
temp = temp.nextSibling; 
i++; 
//如果是用别的方式显示,只需要改一下就可以了 
ids[i-1] = temp.attributes.id; 
list["lbn"+i]._visible = true; 
list["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22); 
list["lauthor"+i] = temp.attributes.author; 
list["ltime"+i] = temp.attributes.Addtime; 

pageInfo.text = logname+"共有日志"+Tnum+"篇 共"+Tpage+"页 当前是第"+page+"页 "+"15/页"; 
bn_u.enabled = true; 
bn_d.enabled = true; 
} else { 
pageInfo.text = "当前没有日志。"; 
list.ltitle1.text = "读取数据出错,请联系管理员!"; 

}

//一个自定义的格式标题的函数,怕标题太长 
function Ftitle(s, n) { 
if (length(s)>n) { 
s = s.substring(0, n-1)+"..."; 

return s; 

logList.onLoad = logFunc; 
//------------------------------------- 
//按钮动作 
Bn_up = new Object(); 
//按钮事件,判断页面大小是否超过值 
Bn_up.click = function(evt) { 
if (page>1) { 
_root.page--; 
gotoAndPlay("cycle"); 
} else { 
stop(); 

}; 
Bn_d = new Object(); 
Bn_d.click = function(evt) { 
if (page<Tpage) { 
_root.page++; 
gotoAndPlay("cycle"); 
} else { 
stop(); 

}; 
bn_u.addEventListener("click", Bn_up); 
bn_d.addEventListener("click", Bn_d);

桢"cycle"只有一个话: 
gotoAndPlay("list"); 
//形成一个简单的循环

Tree_list.asp: 
//log 是我的日志表 ,log_cat是分类表

  下面的asp很清楚了

<?xml version="1.0" encoding="gb2312"?> 
<% 
Response.ContentType = "text/xml" 
Response.CacheControl = "no-cache" 
Response.AddHeader "Pragma", "no-cache" 
Response.Expires = 0 
dim log_cat,page,pageSize,Tnum,Tpage,log_name 
page=TreeRequest("page",1) 
log_cat=TreeRequest("log_cat",1) 
pageSize=15 
call Tree_rs 
if log_cat=0 or log_cat="" then 
sql="select * from log order by written_time DESC,log_ID DESC" 
else 
sql="select * from log,log_cat where log.cat_id=log_cat.ID and cat_id="&log_cat&" order by written_time DESC,log_ID DESC" 
End if 
rs.open sql,conn,1,1 
rs.PageSize=pageSize 
Tnum=rs.RecordCount 
Tpage=Int(Tnum/pageSize*-1)*-1 
if page="" then page=1 
if Tnum<>0 then rs.AbsolutePage=page 
if log_cat=0 or log_cat="" then 
log_name="[全部分类]" 
else 
log_name="["&rs("cat_name")&"]" 
End if 
'以下输出xml 
'------------------------------------------------ 
response.write("<Tree logname='"&log_name&"' Tnum='"&Tnum&"' Tpage='"&Tpage&"'>") 
if rs.eof then 
rs.close 
else 
do while not rs.eof and pageSize>0 
response.write("<Trees author='"&rs("log_author")&"' Addtime='"&rs("written_time")&"' id='"&rs("log_ID")&"'>") 
response.write("<![CDATA["&rs("log_tittle")&"]]></Trees>") 
pageSize=pageSize-1 
rs.movenext 
loop 
rs.close 
End if 
//关闭rs 
call Tree_rsclose 
call Tree_conclose 
response.write("</Tree>") 
%>

(0)

相关推荐

  • asp下计算分页的几种方法

    <%     '计算分页的几种方法 '// iRecordCount为要计算的页面总数     '// iRecordCount为记录集数     '// iPageSize为每页记录数 '// 一:     If iRecordCount Mod iPageSize = 0 Then         iPageCount = Int(iRecordCount / iPageSize)     Else         iPageCount = Int(iRecordCount / iPageS

  • asp分页(自己整理的2个分页程序)

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/19

  • 彻底掌握ASP分页技术杂谈

    近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看演示 !看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页&qu

  • ASP分页时计算页面总数的几种算法小结

    下面是我从网上找到三种ASP分页时计算页面总数的方法,此方法仅为分页时计算页面总数,并非整个分页代码: 方法一 复制代码 代码如下: ' HTMer_RecordCount为要计算的页面总数 ' HTMer_RecordCount为记录集数 ' HTMer_PageSize为每页记录数 If HTMer_RecordCount Mod HTMer_PageSize=0 Then HTMer_PageCount=Int(HTMer_RecordCount/HTMer_PageSize) Else

  • ASP分页类(支持多风格变换)

    这个分页使用的是0游标,也就是Rs.Open Sql,Conn,0,1.但是感觉也快不了多少,10万条数据的分页时间300多豪秒之间. 复制代码 代码如下: <% '****************************** '名称:分页类 '日期:2005/12/3 '作者:西楼冷月 '网址:www.xilou.net | www.chinaCMS.org '描述:无 '版权:转载请注名出处,作者 '****************************** Class Page Priv

  • asp分页的一个类

    asp分页的一个类  在50,000条记录下测试过,速度比ado的那个要快多了 <% '************************************************************************************ '具体用法 Dim strDbPath Dim connstr Dim mp Set mp = New MyPage strDbPath = "fenye/db.mdb" connstr  = "Provider=M

  • js实现ASP分页函数 HTML分页函数

    复制代码 代码如下: <!-- //ASP分页函数 function ShowListPage(page,Pcount,TopicNum,maxperpage,strLink,ListName){     var alertcolor = '#FF0000';     maxperpage=Math.floor(maxperpage);     TopicNum=Math.floor(TopicNum);     page=Math.floor(page);     var n,p;     i

  • 简单的ASP分页代码(测试正确)第1/2页

    本文匆匆已经全面测试,支持ASP+ACCESS以及ASP+SQL,请修改相关部分就可以了. 注意,匆匆谢绝基础问题回答,已经本代码已经很简单,如果还不懂可以参阅本站其他栏目. <!--#include file="conn.asp"--> <% '以上为包含数据库衔接文件 '--------------------------------------------查询开始数据库 set rs=server.CreateObject("adodb.records

  • 透彻掌握ASP分页技术很详细的分析

    首先,来看看效果! 看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页"."尾页"链接失效. 接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果. 首先,数据库中字段record_info存在于info表中(学习ASP分页的时候估计你对数据库也有了一定的了解),先链接数据库

  • asp分页生成html的程序脚本代码

    这是asp分页列表生成静态页面得asp小程序脚本 复制代码 代码如下: <!--#include file="conn.asp"-->  <html><head><TITLE>分页测试</TITLE><LINK href="inc/style.css" type=text/css rel=stylesheet></head>  <%strHead=strHead&&qu

  • 叶子asp分页类

    名称: 叶子asp分页类 Name: ShowoPage(vbs class) RCSfile: ReadMe.txt Revision: 0.12.20051114.f Author: Yehe(叶子) Released: 2005-11-14 09:40:13 Descript: ASP分页类,支持access/mssql/mysql/sqlite Contact: QQ:311673 MSN:myehe@msn.com GT:mmyehe@gmail.com WebSite: http:/

  • 易心asp分页类 v1.0

    易心asp分页类v1.0 复制代码 代码如下: <%  class Ex_SplitPageCls  '==========================================================================  '易心asp分页类v1.0  '作者:易心 QQ:343931221  '个人网站 www.ex123.net www.bo56.com   '演示地址:www.ex123.net/show/page  '转载请保留此信息  '========

随机推荐