2009-08-06 6 views
0

Ich weiß nicht viel über Flash, aber wir arbeiten an einer Website, die eine Flash-Form hat und wenn die Benutzer eine Option auswählen, wie einen Wert aus einer Dropdown-Liste auswählen Der Wert, der an den serverseitigen ASP.net-Code übergeben wird. Was ist der einfachste Weg, dies zu tun?Weitergabe von Flash-Variablen an asp.net

Antwort

0

Flash kann den serverseitigen Dienst aufrufen. So GET verwenden oder POST-Daten übergeben

0

Sie diese Optionen erkunden können:

1) Kommunikation zwischen der SWF und die beinhaltende Seite durch JavaScript

2) Kommunizieren über asp.net Web Service aus der SWF direkt zum Webservice.

3) Nicht sicher, aber könnte wahrscheinlich einen POST zu einer Verarbeitung Aspx-Seite tun?

HTH

0

Ich denke, eine gute Option ist dies die XML-Klasse so betrachten zu verwenden:

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

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

Sie können auch die Seite haben geben Sie Daten zurück auf diese Weise, so dass es die Kommunikation nicht nur ein Weg, .

0

Sie Angenommen verwenden Action Script 2.

Lesen Sie die wichtigen Hinweise am Ende jedes Codes beziehen sich auf das Senden und Daten aus dem Flash-Abrufen Seite .net. Erklärung des Codes ist in dem Kommentar innerhalb des Codes.

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"); 
} 

Wichtiger Hinweis: Die Funktion, die Beiladen Ereignis, in diesem Fall sendForm Funktion enthält, hat Void Funktion sein , was bedeutet, dass es keinen Wert zurückgibt. Wenn diese Funktion einen Rückgabewert liefert, wird die Funktion vollständig ausgeführt, ohne auf die zurückgegebenen Daten von der .net-Seite zu warten. Daher wird das Ereignis onLoad nicht richtig eingestellt.

.Net Teil

public void ProcessData 
{ 
    //process the data here 

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

Wichtiger Hinweis: Um Daten/Nachricht zurück an Flash zu senden, können Sie Response.Write verwenden. Wenn Sie möchten, dass Action Script die geposteten Nachrichten/Daten von der .Net-Seite analysiert, denken Sie daran, dass Sie am Ende der Nachricht das Symbol & einfügen müssen. Beim Analysieren von Daten/Nachrichten wird das Aktionsskript bei & Symbol angehalten, daher den Rest der Nachricht in Ruhe lassen und nur die Nachricht unter gesendet Variable.

Verwandte Themen