复制代码 代码如下:
能不能在flash动画中给asp传递变量?
faq-it.org/vb/---------------------------------------------------------------
数据库结构:
第一步要做的是建立数据库.例子中使用Access数据库,表名为tblStaff
有三个字段:strID(自动编号),strKnownAs(Text),strSurname(Text).
这是一个用来示范用户名的数据库,随便加些数据把.
第二步就是建立一个Flash4的动画罗:
步骤如下:
1)建立三个textfield.它们是用来显示数据用的
2)把第一个textfield的name设置为Input,它是用来接收输入数据的
3)另外两个textfield分别命名为KnownAs和Surname
4)其它设置先为默认
5)最后,从Flash的library中选择增加一个按钮(应该是一个可重用的组件ScrollBarButton).
这是很重要的一步,按钮将把输入的变量传递给ASP页面
到按钮的属性(Properties)上单击Action页.单击"+"号和OnMouseEvent.勾上Release框.
6)再次单击"+"号和Load/UnloadMovie.选择"LoadVariablesIntoLocation"
在URL输入框内输入你的ASP文件名(例如flash.asp).选择Target.
7)最后,选择Variables中的SendusingPOST.单击"+"号来设置变量
在Variable输入框内输入"Input"(就是第一个textfield的name)
当上面的工作都完成后,你应该在actionbox内看到如下内容:
On(Release)
LoadVariables("flash.asp","",vars=POST)
SetVariable:"Input"=""
EndOn
这样当在动画过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件.
注意form是使用的post方式传递变量的.
8)现在建立一个HTML页面,在其中包含这个Flash动画文件
第三步:ASP文件的代码
<%
SetConnection=Server.CreateObject("ADODB.Connection")
SetRecordset=Server.CreateObject("ADODB.Recordset")
Connection.Open"people"'你的数据库连接的DSN
SQL="SELECT*FROMtblStaffWHEREstrID="&Request.Form("Input")&";"
Recordset.OpenSQL,Connection,1,2
IfRecordset.EOFThen
KnownAs="Not"
Surname="Found"
Else
KnownAs=Recordset("strKnownAs")
Surname=Recordset("strSurname")
EndIf
Recordset.Close
Connection.Close
response.write("KnownAs="+Server.URLEncode(KnownAs))
response.write("&Surname="+Server.URLEncode(Surname))
%>
需要注意的是在把KnownAs和Surname传递回去的写法,将是这样的
KnownAs=Data1&Surname=Data2
使用Server.URLEncode(VariableName)来保证传递过去变量的是按照URL格式编码的
下面简单介绍一下ASP和Flash通讯的原理:
变量其实都是通过URL传递给Flash的,其实这是一种GET方法
你不使用ASP其实也可以把变量传递给一个swf文件的,只要这样:
<PARAMNAME=movieVALUE="myMovie.swf?myVariable=Text+of+my+variable">
接着文本"Textofmyvariable"将会出现在Flash的动画中指定的位置
好了,该说的都说了,现在对于ASP的开发者来说,只要把Flash所需要的数据准备好,然后利用Flash中的动画
功能就可以做出强劲的网页出来了.最简单的是利用flash结合数据库画一个很漂亮的饼图,呵呵.反正只要大家能够想象就可以做出
很多很好的东西出来的.