发新话题
打印

[原创]Flash+ASP+Access打造动感留言簿

[原创]Flash+ASP+Access打造动感留言簿

是啊,我好支持,嘻嘻,,顶一下,再支持一下

TOP

[原创]Flash+ASP+Access打造动感留言簿

zrong 老师请你把做好的留言板发上来看看,我想看看效果.

TOP

[原创]Flash+ASP+Access打造动感留言簿

不支持ASP的空间的,那留言板不是不能用了,因我的免费主页是不支持ASP的,现在我也不知道怎么办了.

TOP

[原创]Flash+ASP+Access打造动感留言簿

好的。我明天发上来。
不支持ASP的空间就没办法了……

TOP

[原创]Flash+ASP+Access打造动感留言簿

[size=4][b]4.5制作Flash影片的读取数据部分[/b][/size]
制作此例之前,请先下载源文件:
[url]http://www.caispace.com/flashbook2/flashbook_read_nofresh.rar[/url]
[b]4.5.1读取数据的影片剪辑[/b]
①解开压缩包,打开其中的“flashbook_final_local_nofresh.fla”文件,在舞台下方有一个影片剪辑,实例名为“guestbook”。双击此影片剪辑进入内部,此影片剪辑有两个关键帧,第一个关键帧中有一段静态文本,显示载入状态。如图71所示。

②第二个关键帧的帧标签为“show”。其中有一个动态文本框,实例名为logs_txt,关联变量为logs;有两个按钮,实例名分别为left_btn和right_btn;还有一个scrollbar组件,关联着这个动态文本框。如图72所示。

③在第一帧有如下动作脚本
stop();
//定义一个loadVars对象
load_var = new LoadVars();
//载入数据
load_var.load("http://localhost/flashbook/read.asp");
load_var.onLoad = function() {
//将载入的数据赋值给logs变量
logs = load_var.logs;
//跳转到show帧以显示数据
gotoAndStop("show");
};
//此函数负责翻页
function gotoPage(URL) {
load_var.load("http://localhost"+URL);
//跳转到第2帧停住以显示loading。数据载入完毕后上面的onLoad事件会自动跳转到show帧。
gotoAndStop(2);
}
④在show帧有如下动作脚本
left_btn.onRelease = function() {
gotoPage(load_var.prevURL);
};
right_btn.onRelease = function() {
gotoPage(load_var.nextURL);
};
上面的脚本设定当单击left_btn和right_btn按钮的时候根据load_var对象中的prevURL变量和nextURL变量的值载入翻页的数据。

TOP

[原创]Flash+ASP+Access打造动感留言簿

[这个贴子最后由zrong在 2004/02/16 00:29am 第 1 次编辑]

[b]4.5.2消除BUG[/b]
这个留言簿到这里应该就算完成了。虽然在本机调试成功,但是如果将其在互联网上使用,则会发现在添加新留言后,虽然数据已经加入数据库中了,但是浏览器怎么都不给刷新数据。除非重启浏览器。
要解决这个问题,需要改动两个地方。
①打开read.asp,找到277行和288行中反白的代码,这两处原来为“&”符号,将它们改为“$”符号。如图73所示。

②改变读取数据的影片剪辑的第一帧中的代码为如下所示:
stop();
//定义一个loadVars对象
load_var = new LoadVars();
load_var.load("http://localhost/flashbook/read.asp");
load_var.onLoad = function() {
logs = load_var.logs;
gotoAndStop("show");
};
function gotoPage(URL) {
[color=red]gotoNum = URL.slice(URL.lastIndexOf("=")+1);
URL = "/flashbook/read.asp?r="+random(8888)+"&"+"offset="+gotoNum;[/color]
load_var.load("http://localhost"+URL);
gotoAndStop(2);
}
注意,其他的没有改动,仅仅加入了两行代码(红色所示)。必须要加入一个随机数,让浏览器认为每次读取的是不同的网页。在本例中的随机数就是利用random(8888)产生的。由于加入了两个查询字符串——随机数r和翻页用的offset,我们的read.asp会自动将它们使用“&”符号连接(例如gotoPage函数中的URL变量的值可能是“/flashbook/read.asp?r=935&offset=5”),而Flash却认为使用“&”符号连接的两个值是两个单独的变量,所以在读取load_var中的prevURL或nextURL变量的时候不会读取后面的offset的值,例如上面的例子会读取为“/flashbook/reead.asp?r=935”,这不可能实现翻页。因此在上面第①步中将“&”符号替换成了“$”符号,是Flash能够将变量读取完整,然会再利用[color=red]URL.slice(URL.lastIndexOf("=")+1[/color]这句取出offset的值,利用[color=red]"/flashbook/read.asp?r="+random(8888)+"&"+"offset="+gotoNum[/color]重新打造要载入的URL。
此教程全部完成后的例子在这里下载:
[url]http://www.caispace.com/flashbook2/flashbook_local.rar[/url]
此留言簿的最终效果:
[url]http://www.caispace.com/flashbook2/[/url]

[size=6][b]全文完!![/b][/size]

TOP

[原创]Flash+ASP+Access打造动感留言簿

http://www.caispace.com/flashbook/
像你这个的,,分页,那是要做几个动态文本,还要设一个翻页显示的变量吗?

TOP

[原创]Flash+ASP+Access打造动感留言簿

[这个贴子最后由blueboyss在 2004/02/18 09:19am 第 1 次编辑] zong老师,我有二个问题想问的: 1。在做这个留言本的第五章时,你把Respose Redirect(MM_editRedirecturl)改成 Response.write("done=ok"); 我想Respose Redirect(MM_editRedirecturl)是用来插入数据后,跳转的页面吧。 但我不明白改成Response.write("done=ok");这句有什么作用呢。而你又没有在FLASH里用到。 2。我在做第七章时,插入一句,Response.write "logs=" 我不明白logs变量的作 用。 我猜想这正好是FLASH里动态文本的变量,应该是显示留言的吧,但要循环显示留言,应该在read.asp里的 while((Repeat1_numRows<>0)AND(NOT rs.EOF))的下面吧 :em18:

TOP

[原创]Flash+ASP+Access打造动感留言簿

1、你的理解正确,Respose Redirect(MM_editRedirecturl)确实用来跳转页面,我们不需要跳转页面,所以改成Response.Write("done=OK")。
这个done=ok看似没有用,其实用处很大。当Flash把请求发送给ASP后,ASP就输出done=ok这个值,然后Flash接收(记得我们使用的是sendAndLoad方法),Flash接收到这个值以后,就会认为数据发送成功了。
如果你使用Flash的调试器,你就可以看到在load_var里有done这个值了。
一句话,这个值是为了让Flash知道数据写入已经成功了。
2、对,这个变量就是显示所有的留言内容的,他的值就是下面的循环语句所取得的。

TOP

[原创]Flash+ASP+Access打造动感留言簿

应该在read.asp里的 while((Repeat1_numRows<>0)AND(NOT rs.EOF))的下面吧 应该是放在下面吧,,但你的是放在上面的啊

TOP

发新话题