nej nej, kører den i en SelectedIndexChanged, men det er et script som skal ændre på en flash komponent så lidt tricky, er ikke særlig god til javascript !
det er nok hensigtsmæssig, hvis du laver dig en metode til det - efter et princip som dette:
string scriptFormatString = @" function setAngle(angle) { // her skal du så bruge det element du vil sætte det på // eventuelt (hvis du har flere af slagsen) kan det var en parameter på metoden document.getElementById('{0}').Angle = angle; }
OK, kan slet ikke så det til at virke i anden end almindelig HTML. Jeg har et script der hedder: function changeAngle(angle_num) { window.document.trappe_swf.SetVariable("angle", angle_num); }
Vil gerne hvis du eller en anden kan lavet en konkret eksempel på hvordan man fyrer det af fra sin codebehind fil ! kan ikke forstå det skal være så problematisk !(
hvis du gerne vil lave det hele programmatisk, kan du lave noget i denne stil:
private string scriptFormatString = @" function setAngle(angle) { alert(angle); }
når du så skal have en kontrol til at kalde scriptet - kan du lave noget i denne stil:
// f.eks. i page_load Button btn = new Button(); btn.Attributes.Add("onclick", "setAngle('45');");
// sikring af at scriptet kommer med ud på siden string resultingScript = String.Format(scriptFormatString, someControl.ClientID); if (!ClientScript.IsStartupScriptRegistered("angleScript")) { ClientScript.RegisterStartupScript(typeof(Page), "angleScript", resultingScript, true); }
så skulle du gerne få kaldt metoden når du trykker på knappen - inden der udføres et postback.
ups ... du skal så også lige smide kontrollen ind i kontroltræet (inden du prøver at finde id'et på den).
// f.eks. i page_load Button btn = new Button(); btn.Attributes.Add("onclick", "setAngle('45');"); form1.Controls.Add(btn);
hvis kontrollen er indsat deklarativt - skal du bare bruge den direkte (altså ikke noget med new Button():
// sikring af at scriptet kommer med ud på siden string resultingScript = String.Format(scriptFormatString, dinKnap.ClientID); if (!ClientScript.IsStartupScriptRegistered("angleScript")) { ClientScript.RegisterStartupScript(typeof(Page), "angleScript", resultingScript, true); }
Og... når du nu alligevel benytter 2.0 - kan du angive det script der skal køres direkte på din OnClientClick property på knappen istedet: dinKnap.OnClientClick = "setAngle('45');";
man skal bare droppe "onload" også så bare kalde dem sådan: changeAngle("vinkel");changeSteps("trin")";
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.