Предполагается, что вы используете Action Script 2.
Прочтите важные примечания внизу каждого кода, относящиеся к отправке и извлечению данных из флэш-памяти на страницу .net. Объяснение кода находится в комментарии внутри кода.
Flash Part (Action Script 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 Part
public void ProcessData
{
//process the data here
Response.Write("status=processed&");
}
Важное примечание:
Чтобы отправить данные / сообщение обратно на флэш-память, вы можете использовать Response.Write . Однако, если вы хотите, чтобы Action Script анализировал опубликованное сообщение / данные со страницы .Net, имейте в виду, что вы должны включить символ & в конце сообщения. При разборе данных / сообщений Action Script останавливается на символе & , поэтому оставьте оставшуюся часть сообщения в покое и получите сообщение только в переменной sent .