将flash变量传递给asp.net

时间:2009-08-06 14:48:08

标签: asp.net flash

我对Flash知之甚少,但我们正在开发一个具有flash格式的网站,当用户选择一个选项时,比如从下拉列表中选择一个值,我们需要将值传递给asp .net服务器端代码。最简单的方法是什么?

4 个答案:

答案 0 :(得分:0)

Flash可以调用服务器端服务。因此,使用GET或POST传递数据

答案 1 :(得分:0)

您可以探索以下选项:

1)通过JavaScript

在SWF和包含页面之间进行通信

2)通过asp.net webservices从SWF直接与Web服务进行通信。

3)不确定但是可能会对处理的aspx页面进行POST吗?

HTH

答案 2 :(得分:0)

我认为一个好的选择是使用XML类,所以请考虑这个:

var xmlRequest = new XML();
xmlRequest.onLoad = parseXMLResponse;
xmlRequest.load("http://yourpathtoyourserver/file.aspx?listselectedvalue=something");

function parseXMLRequest(loaded)
{
  trace("hi");
}

您还可以让页面以这种方式返回数据,这不仅仅是单向沟通。

答案 3 :(得分:0)

假设您正在使用Action Script 2。

阅读每个代码底部的重要说明,这些说明与从闪存到.net页面发送和检索数据有关。代码的解释位于代码内的注释中。

Flash部分(动作脚本2)

//function to send collected form data to asp.net page
//use other control/button to call this function
//important: in order for the 'onLoad' event to work correctly, this function has to be 'Void'
function sendForm():Void
{
    //create LoadVars object
    var lv_in:LoadVars = new LoadVars();
    var lv_out:LoadVars = new LoadVars();

    //set onLoad event
    lv_in.onLoad = function(success:Boolean)
    {
        //if success, meaning data has received from .net page, run this code
        if (success)
        {
        //lv_in.status is use to get the posted data from .Net page
            statusMsg.text = "Thank you for filling up the form!" + lv_in.status;
        }
        //if fail, run this code
        else
        {
            statusMsg.text = "The form you are trying to fill up has an error!";
        }
    }

    //this is the collected data from the form
    lv_out.userName = txtUserName.text;
    lv_out.userAddress = txtUserAddress.text;
    lv_out.userBirthday = txtUserBirthday.text;

    //begin invoke .net page
    lv_out.sendAndLoad("ProcessDataForm.aspx", lv_in, "POST");
}

重要提示: 包含 onLoad 事件的函数(在本例中为 sendForm 函数)必须为 Void 函数,这意味着它不会返回值。如果此函数返回值,则会在不等待.net页面返回的数据的情况下执行该函数,因此 onLoad 事件将无法正确设置。

.Net部分

public void ProcessData
{
    //process the data here

    Response.Write("status=processed&");
}

重要提示: 要将数据/消息发送回闪存,您可以使用 Response.Write 。但是,如果您希望Action Script解析来自.Net页面的已发布消息/数据,请记住,您必须在消息末尾包含& 符号。在解析数据/消息时,Action Script将停在& 符号处,因此只留下剩余的消息,只在发送变量下获取消息。