12. december 2001 - 11:54Der er
21 kommentarer og 1 løsning
Kommunikation ml. flash og asp.net
Hvordan kalder jeg min asp.net kode fra flash og omvendt. F.eks. ved brug af flashknapper på en asp.net side. Har forsøgt lidt med Xml, men er det overhovedet smart at bruge i denne sammenhæng?
Det er vel ikke anderledes end med ASP? Enhver URL der leveret et output der er formatteret så Flash kan fatte det kan kaldes med loadvariablesNUM() - går jeg ud fra.
Vi snakker om knapper lavet i Flash. Vores problem er at knytte asp funktionalitet til flash knapper. Hvordan kan asp.net registrere at der er blevet trykket på en flash-knap?
Vi vil ikke bare transportere systemet videre til en anden side, men kalde metoder i vores asp.net kode. asp.net\'s imagebuttons kan kalde metoder, men hvordan gør man tilsvarende med en flash-knap?
Udover jeg ikke er specielt funderet i ASP.net, så aner jeg ikke hvordan man skulle kunne kalde en ASP funktion. ASP´en er vel kørt på serveren når siden er udskrevet.
Var det javaScript kunne man gøre sådan her:
on (release) { getURL (\"java script:minFunktion()\"); }
Om du vil videre til en anden side eller kalde samme side er et fedt.
Kig i den HTML-kode som ASP.NET genererer, så kan du se hvilke parametre der skal med når du kalder den side som skal behandle klikket( jo, det er et nyt kald).
Der er intet hokus-pokus mht. ASP.NET formularer. Det er præcis ligesom i gamle dage, bortset fra at ASP-NET hjælper til at opdele koden.
Øh... du vil altså kalde en ASP.NET funktion, uden at siden bliver loadet igen? Det kan du ikke. Du er nødt til at kalde siden igen. Denne gang med en parameter som fortæller ASP.NET koden at den skal kalde en bestemt Sub/funktion.
Som jeg forstår det, så blander du client-side og server-side funktioner sammen. ASP.NET er server-side, og dvs. du skal kalde en side (serveren) for at få udført et script.
Du kalder siden med følgende link: /minside.aspx?Call=DoThis og indsætter følgende på din side: -------------- Sub Page_load(obj as Object, E as EventArgs) If Request.Querystring(\"Call\") = \"DoThis\" Then Call subDoThis() else [Gør alt det du ellers ville have gjort] End If End sub
Sub subDoThis() [kode der skal udføres] End Sub -------------- /Odegaard
Når man klikker på f.eks. en submit knap, kan man i koden for knappen, bede den om at kalde en bestemt funktion. Dette er i bund og grund det samme som det der sker i ovenstående kode. Der sendes en GET til asp.net koden, som automatisk sørger for at afvikle koden. Hér koder vi det bare manuelt, og benytter sådan set POST fremfor GET (eller også er det omvendt... :-)
Odegaard >> dit 13:03:22-svar er kun korrekt hvis du mener den ASP-side som Flash-filmen er embedded i.
Flash kan sagtens kalde en ny ASP/ASPX side uden at reloade den ASP/ASPX-side som Flashen er embedded i. Jeg har fx lavet mig en chat der henter og bringer chat fra Flash der er embedded i en asp-side som kun loades en gang. Den asp-side der henter og bringer chatter loades en gang i sekundet - eller hvert andet sekundt... Eller også er det omvendt? ;-D
Summasummarum (som sædvanlig) er det korrekte svar afhængigt af den kontext løsningen skal leve i.
Det er da stadig måden hvorpå du vil kalde en funktion i en (anden) ASP.NET side. Du bestemmer jo selv om du vil linke til den samme side, eller en anden, og om det skal være i f.eks. en anden frame.
Nikolajdu >> Nemlig :-) Om det er nødvendigt at reloade kommer jo lidt an på hvad funktionen skal gøre? (kontexten)
Frames er jo også en (kompliceret) mulighed - hvis man fx vil bevare flashen uforstyret
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.