flash与asp.net的交互
一、数据从数据库àaspxàflash:
1、 新建一个data.mdb数据库,在其中建一个main表,添加字段“新闻”;
新建一个data.aspx文件,写入如下代码
<%@ Page Language="C#" Debug="true"%>
<%@Import NameSpace="System.Data"%>
<%@Import NameSpace="System.Data.OleDb"%>
<%
string StrCon="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data.mdb");
string strSQL="SELECT * FROM main order by 编号 desc";
OleDbConnection MyConnection=new OleDbConnection(StrCon);
OleDbCommand myCommand=new OleDbCommand(strSQL,MyConnection);
OleDbDataReader myDataReader=null;
myCommand.Connection.Open();
myDataReader=myCommand.ExecuteReader();
myDataReader.Read();
Response.Write("dnews="+myDataReader["新闻"].ToString()); //注6
myCommand.Connection.Close();
%>
2、新建一个FLASH文件,在代码中写入
Var mainnews = new LoadVars();//注1
mainnews.load("data.aspx");//注2
mainnews.onLoad = function(success) {//注3
if (success) {
news = mainnews.dnews; //注4
}else {
}
}
注1:定义读取的函数
注2:定义了flash去哪里取数据,因为flash不能自身去数据库去取数据,而是要通过这个aspx文件来取数据.所以,从数据库里取数据的工作,其实是由后台的aspx文件负责的。Flash只是把aspx从数据库取出来的资料“拿来”,放在自已身上已显示出来。这里我打个比方:数据库好比硬盘,aspx文件是CPU,Flash是显示器.当aspx文件从数据库里拿出资料,再交给flash来显示给大家看。
注3:这个函数是实际的mainnews去读取data.aspx文件的行为。判断是否成功。
注4:如果成功,即成功收到来自aspx的变量,把mainnews取来的dnews变量赋值给news变量,也是我们前面设置过的动态文本。其中dnews其实是aspx里的变量,是mainnews接收到的。
二、数据从flashàaspxà数据库:
1、 数据库不变,新建一个add.aspx,写入如下代码:
<%@ Page Language="C#" Debug="true"%>
<%@Import NameSpace="System.Data"%>
<%@Import NameSpace="System.Data.OleDb"%>
<%
string StrCon="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data.mdb");
string strSQL="insert into main (新闻) values (" + Request ["addnews"] + ", " + DateTime.Now.ToString() + ")";
OleDbConnection myConnection = new OleDbConnection(StrCon);
OleDbCommand myCommand = new OleDbCommand(strSQL, myConnection); //注10
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
Response.Write("res=ok"); //注11
%>
注10:也是一个简单的添加记录到mdb的aspx文件。关键在于Request ["addnews"],其实和aspx之间传递变量一样,通过Request函数aspx文件就可以接收到flash里addn.addnew的变量了。
注11:在aspx打出res=ok,让flash接收,便其知道操作成功.
2、新建一个FLASH文件,画个输入文本框,变量设为addnews.再加一个按钮;在"确定"按钮上做如下Action:
on (release) {
addn = new LoadVars(); //发送的变量
load_var = new LoadVars(); //接收的变量
addn.addnews = addnews; //注7
addn.sendAndLoad("add.aspx",load_var,"self"); //注8
load_var.onLoad = function(success) { //注9
if (success) {
}else{
}
}
}
注7:将addnews的变量赋值给add.addnews它会把addnews传给aspx文件。再通过aspx文件添加到数据库.
注8:add.sendAndLoad,这是一个add的行为,作用是发送add.addnews的变量给"add.aspx"这个文件.接着,aspx会给出是否成功操作的讯号.将这个讯号反传给load_var.这是我们在aspx文件需要加入的。
注9: load_var收取行为,如果添加成功就可收到讯号,addresult实例将会提示成功,反之提示失败。