Flash中使用ASP技术

Flash中使用ASP需要的条件:                        
1
。你的ISPserver必须支持Active Server Pages并且最好支持数据库
2
。你应该要安装Flash 4
3
。需要你对ASP有初步的了解
OK
,下面具体介绍怎么使用:
第一步要做的是建立数据库:
数据库结构:
例子中使用Access数据库,表名为tblStaff,有三个字段:strID (自动编号)strKnownAs(Text),strSurname (Text). 这是一个用来示范用户名的数据库,随便加些数据吧。


第二步就是建立一个Flash 4的动画罗:

步骤如下:

1)
建立三个text field.它们是用来显示数据用的;

2)
把第一个text fieldname设置为Input,它是用来接收输入数据的;
3)
另外两个text field分别命名为KnownAsSurname

4)
其它设置先为默认;

5)
最后,Flashlibrary中选择增加一个按钮 (应该是一个可重用的组件ScrollBarButton ) 这是很重要的一步,按钮将把输入的变量传递给ASP页面, 到按钮的属性(Properties)上单击Action. 单击"+"号和On MouseEvent.勾上Release框;


6)
再次单击"+"号和Load/Unload Movie.选择"Load Variables Into Location" URL输入框内输入你的ASP文件名(例如flash.asp). 选择Target


7)
最后,选择Variables中的Send using POST 单击"+"号来设置变量, Variable输入框内输入"Input"(就是第一个text fieldname) 当上面的工作都完成后,你应该在action box内看到如下内容:


On (Release)

Load Variables ("flash.asp", "", vars=POST)

Set Variable: "Input" = ""

End On


这样当在动画过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件.

注意form是使用的post方式传递变量的;


8)
现在建立一个HTML页面,在其中包含这个Flash动画文件。


第三步:ASP文件的代码:

<%

Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people" '
你的数据库连接的DSN
SQL = "SELECT * FROM tblStaff WHERE strID=" & Request.Form("Input") & ";"
Recordset.Open SQL,Connection,1,2
If Recordset.EOF Then
KnownAs = "Not"
Surname = "Found"
Else
KnownAs = Recordset ("strKnownAs")
Surname = Recordset ("strSurname")
End If
Recordset.Close
Connection.Close
response.write("KnownAs="+Server.URLEncode(KnownAs))
response.write("&Surname="+Server.URLEncode(Surname))

%>


需要注意的是在把KnownAsSurname传递回去的写法,将是这样的:


KnownAs=Data1&Surname=Data2


使用Server.URLEncode(VariableName)来保证传递过去变量的是按照 URL格式编码的。


下面简单介绍一下ASPFlash通讯的原理:


变量其实都是通过URL传递给Flash,其实这是一种GET方法, 你不使用ASP其实也可以把变量传递给一个swf文件的,只要这样:<PARAM NAME=movie VALUE="myMovie.swf?myVariable=Text+of+my+variable">

接着文本"Text of my variable"将会出现在Flash的动画中指定的位置

好了,该说的都说了,现在对于ASP的开发者来说,只要把Flash所需要的数据准备好,然后利用Flash中的动画 功能就可以做出强劲的网页出来了.最简单的是利用flash结合数据库画一个很漂亮的饼图,呵呵.反正只要大家能够想象就可以做出很多很好的东西出来的。