场景:使用FLASH做UI层,使用ASP.NET做DLL层;通过FLASH文件发送一数据,经DLL计算后返回显示在FLASH当中。
使用工具:VS2003和FLASH MX 2004
DEMO源码下载(148K)
详解:
1.UI层,FLASH件:新建一空FLASH文件,从工具箱中拉入一“输入文本”,命变量名为txt;再从组件中拉入一Label和Buttom,分别命名为lb和bt;再第一帧上插入以下AS代码
var param1:String;
var URLpreFix:String;
//设置服务器URL文件,根据实际自定义
URLpreFix = "http://localhost/flashtext/WebForm1.aspx";
bt.onRelease = function()
{
//LoadVars 类是 loadVariables() 函数的替代方法,用于在 Flash 应用程序和服务器之间传输变量。
var myLoadVars = new LoadVars();
//txt是场景里面的一个文本变量
//把txt变量的值传给LoadVars类对象
myLoadVars.txt = txt;
//发送给服务器,可使用HTTP 协议的 GET 或 POST 方法。
myLoadVars.sendAndLoad(URLpreFix, myLoadVars, "post");
_root.lb.text="正在加载数据
";
//得到服务器是否成功返回数据,success是成功标志,成功时返回true
myLoadVars.onLoad = function(success)
{
//如果成功把lb的文本换成服务器返回的变量值
if (success)
{
_root.lb.text = this.txt;
} else
{
_root.lb.textt = "异常错误!";
}
};
};

<%
@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="flashtext.WebForm1" %>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace flashtext

{
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string txt=Request["txt"];
testClass test=new testClass();
Response.Write("&&txt=" + test.getData(txt));
}

Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
using System;
namespace flashtext

{
/**//// <summary>
/// testClass 的摘要说明。
/// </summary>
public class testClass
{
public testClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//方法getData()可以取得数据
public String getData(string param1)
{
//假设这里去读数据了
return "这是来自aspx返回的数据:"+param1;
}
}
}
总结:如今FLASH与. net紧密结合,以上是一简单的FLASH与ASP.NET通信程序,关于FLASH与ASP.NET通信还有几种方法,有关文章可以参考Flash* and .NET* Integration Using ASP.NET
关于FLASH与winform结合的应用,参考前几天写过的demo:下载源码(要求VS2003和flash8)