|
asp; zongyeshu_txt.text = xianshi_lv.zongyeshu_asp; neirong_txt.htmlText = xianshi_lv.neirong_asp; } else { neirong_txt.htmlText = "加载失败!"; } }; } //——————“删除”功能 function shanchu() { //将“选项”设置为“删除” xuanxiang = "删除"; //将设定为“删除”的“选项”记录在用于删除的LV对象 shanchu_lv.xuanxiang_flash = xuanxiang; //获得要删除的记录序号也记录在LV对象中 shanchu_lv.xuhao_flash = shanchuxuhao_txt.text; shanchu_lv.sendAndLoad("zonghe.asp?bianliang="+random(9999), shanchu_lv, "post"); shanchu_lv.onLoad = function() { //根据ASP传回来的“成功”进行对应操作 if (shanchu_lv.chenggong_asp == "成功") { shanchuxuhao_txt.text = "删除成功"; //最后调用“显示”函数,在“neirong_txt”文本框中刷新内容显示 xianshi(); } else { shanchuxuhao_txt.text = "删除失败"; } }; }
说明:上面FLASH中的代码我们可以对比着ASP中的代码来看,ASP中添加了删除功能,FLASH中最后一段便对应的添加了一个“shanchu”函数,这个函数中的代码,相信大家现在参照着注释应该能够理解了吧。然后是“功能逻辑区”通过“删除”按钮调用删除函数。最后还有一点小小的改动,我在这里就不考察大家的眼力了,大家注意看,我在“xianshi”函数中的第一行添加了一句:xuanxiang="显示"。这是为了让“xianshi”函数更加独立,在“shanchu”函数中,当删除完成后,我调用了“xianshi”函数,以便让大家在FLASH中及时看到删除后的结果,如果“xianshi”中没有定义“xuanxiang”,则在“shanchu”函数中调用“xianshi”函数时,“xuanxiang”的值依然为“shanchu”,这样ASP中的“xianshi”函数就无法获得正确的参数,而显示删除后的内容了。
好的,说了那么多,激动人心的时刻到来了,让我们在IIS下打开“zonghe.html”测试一下吧。刚打开你会看到正确的页码和内容显示,然后,你在删除的输入文本框中输入“13”,按“删除”按钮,当这个输入文本框提示“删除成功”后,你马上会看到“记录总数”由原来的13变成了12,内容文本框中“xuhao”为13的记录消失了。可怜的“赵微”就这样被我们轻轻一点就淘汰出局了:) 经过这次“删除”功能的演示,相信大家已经对我的思路和功能扩展的方法有了一定的了解。下面我将一次性完成“添加”和“更新”功能演示!
第四步,“添加”和“更新”功能: 这一步我就不再贴代码了,大家直接下载源文件看吧,因为实在没什么好讲的了,这一步需要做的就是按着上一步的模式,分别在ASP和FLASH添加对应的函数块儿,然后再在“逻辑功能区”调用对应的功能函数就行了。都说一个组织良好的程序一开始比较复杂,越往后写反而越轻松,我想一篇好的教程也应该一样吧:)
★小总结:这篇教程到这里核心内容基本上讲完了,一个FLASH留言本的基本功能也差不多都实现了,但想象和成品的距离其实是咫尺天涯,想做一个功能完善的FLASH留言本,远不止我讲的这些内容,这里面还有很多技巧和细节,主要还是看你AS和ASP的基本功!反正捕鱼的方法我是倾囊相授了,能不能捕到鱼,还是要通过大家自己的实践和努力。其实我留给大家的作业还是很多的,包括翻页处理,管理登陆等等,但只要你真的领会我前面讲的原理了,要自己做出来理论上确实不难。可如果你现在还是一点头绪都没有,恐怕很有必要把我的教程再从头到尾重新看一遍了,用很长时间只学会一个知识点不可怕,怕就怕你用很长时间学了很多知识点,却没一个真正学会! 最后如果有谁通过自己的努力做出真正属于自己的FLASH留言本了,别忘了贴上来让火山和同志们一起欣赏欣赏,火山也算没白忙活这么长时间了:)
LV与ASP综合运用之一:demo4
昨天写完上一节没什么事就在论坛到处逛,偶然发现一个帖子,是经典前斑竹“手工感情”写的,其中总结了FLASH与ASP通讯的三种常见方法,包括loadVariables,LoadVars和XML,跟贴还有一些比较深入的讨论,我觉得很好,大家对哪种方式有兴趣的话不妨看一下前辈的帖子,火山这里就不再唠叨了。只有一种方式他们没提到,就是getURL,下面我就着重讲一下这种通讯方式。 手工感情斑竹的教程:http://bbs.blueidea.com/viewthread.php?tid=1113968&highlight= 借这个教程,我们再来一起悼念一下这位无私奉献的前辈——蓝色每一位无私奉献者都不应当被遗忘!
继续我的教程,getURL的特别之处在于它能打开一个新的ASP网页,并使这个网页接收到传递的变量,这样ASP网页就能根据这个变量进行各种设置和显示了,我的FLASH BLOG中就利用了这个技术。遗憾的是,getURL无法指定传递变量的个数,它会非常机械的把同一层级下的所有变量都传递给ASP,如果你把调用getURL函数的语句和大量其它AS语句都混在一起,势必会传递大量垃圾变量,解决的方法是把要传递的变量和调用getURL函数的语句都写在一个独立的MC中。下面我简单演示一下它的用法:
1,先在同一目录下建立一个“geturl.asp”文件和“geturl.fla”文件。 2,在“geturl.asp”中输入下面的代码:
<%@LANGUAGE="JAVASCRIPT"%> <% //接收变量 var neirong1=Request("neirong1_flash"); var neirong2=Request("neirong2_flash"); var neirong3=Request("neirong3_flash"); //显示变量内容 Response.Write("内容1的值是"+neirong1+"<br>"); Response.Write("内容2的值是"+neirong2+"<br>"); Response.Write("内容3的值是"+neirong3); %>
3,再在“geturl.fla”中建立一个按钮“anniu_btn”,并在贞上写代码:
var neirong1_flash = "neirong1"; var neirong2_flash = "neirong2"; anniu_btn.onRelease = function() { getURL("geturl.asp", "_blank", "get"); };
这样前期工作就完成了,下面我们来进行一系列对比性的测试:
①直接发布测试,当我们点击按钮的时候,会发现新打开了“geturl.asp”,页面显示:
内容1的值是neirong1 内容2的值是neirong2 内容3的值是undefined
看来我们确实接收到变量neirong1_flash和neirong2_flash了,由于neirong3_flash我们在FLASH中没有定义,所以ASP中得到undefined。现在我们注意观察ASP网页的URL后缀:
?neirong1%5Fflash=neirong1&neirong2%5Fflash=neirong2
这个后缀经过了URL编码,翻译过来其实是:
?neirong1_flash=neirong1&neirong2_flash=neirong2
它的格式大家是不是觉得非常熟悉呢?答对了!就是我们在前面一直强调的“变量/值”配对,它的变量传递原理与LV遵循的是同一规则!怎么样?现在体会到什么是一通百通,触类旁通了吧:)需要解释的一点是,当传递多个“变量/值”对的时候,他们之间用“&”分隔,与TXT中的数据格式又相同了。
②把“geturl.fla”中“getURL”函数中的“get”传递方式改为“post”再测试一下,你会发现ASP网页在浏览器URL中的后缀没有了,但网页显示结果不变。
③现在我们再把“geturl.fla”中“getURL”函数改成下面的形式:
getURL("geturl.asp?neirong3_flash=neirong3", "_blank", "get");
发布测试,我们会发现点击按钮后,打开的ASP网页显示内容发生了变化,neirong3接收到了值,网页显示内容如下:
内容1的值是neirong1 内容2的值是neirong2 内容3的值是neirong3
再观察浏览器URL后缀:
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 |