Toon posts:

[ASP.Net] Javascript aanroepen in aspx vanuit ascx *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is het mogelijk om een javascript funtie te linken vanuit een control (ascx)?

De javascript functie Change_Color(o) staat in pagina.aspx
In pagina.aspx worden controls gebruikt.
Een van die controls moet de Change_Color(o) aanroepen. In de control file (listbox.ascx) wordt een <asp:listbox runat="server"... gemaakt waarin een OnSelectedIndexChanged=??? wordt aangeroepen.

Deze OnSelectedIndexChanged moet dus de javascript functie aanroepen die in pagina.aspx staat.

De webpagina's zijn allemaal in asp.net.

Kan iemand AUB helpen, ik ben er al dagen mee bezig dit op te lossen en heb al op verschillende forums gezocht, maar kan nergens vinden hoe je een javascript functie aanroept die in een andere pagina staat.

Iedereen alvast bedankt.

Tjeerd

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
ik snap niet helemaal wat je nou wilt maar ik denk dat je eens naar
RegisterClientScriptBlock( string key, string script )
moet kijken in de documentatie.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
Ik zal eens kijken, maar volgens mij is dat niet de oplossing.

Kun je uitleggen wat je niet begrijpt, want ik ben er al dagen mee bezig. Dus voor mij is alles duidelijk, wat uitleggen zonder tegen reactie erg moeilijk maakt

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Nou ik snap niet precies wanneer je die javascript functie uit wil voeren. De OnSelectedIndexChanged is een server side event en hier is het dus niet mogelijk om een javascript functie uit te voeren omdat het javascript bij de client staat. Je kan wel doormiddel van de methode die ik aangaf een stukje javascript in de pagina wegschrijven die dus na een postback in de pagina gerenderd wordt waardoor de functie aangeroepen wordt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
Het was eigenlijk de bedoeling on een stuk niet serverside script uit te laten voeren. Maar dan liep ik tegen het probleem dat die niet werden meegegeven als de pagina werd gecompileerd. De compiler trekt de onbekende code tussen de tags van de asp:listbox er uit. netzoals je geen <option ...> mag invullen

Hierdoor werd ik dus verplicht om de serverside functie te gebruiken

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:26

mulder

ik spuug op het trottoir

Je kan de property AutoPostBack op true zetten of met de property Attributes de javascript onchange zetten.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
de propperty AutoPostBack kan ik zetten,
maar de propperty Attributes kan ik niet vinden, laatstaan daarin de js onchange zetten

kun je hiervan een klein stukje code geven?

[ Voor 16% gewijzigd door Verwijderd op 25-09-2003 14:54 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
gewoon in je code
C#:
1
jeListbox.Attributes[ "onchange" ] = "alert( 'blaat' );";

De rest mag je opzoeken in de documentatie

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:26

mulder

ik spuug op het trottoir

Heb je MSDN? Dan: ms-help://MS.MSDNQTR.2003FEB.1033/cpref/html/frlrfsystemwebuiwebcontrolswebcontrolclassattributestopic.htm

Anders moet je over online in MSDN kijken bij listbox members

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
ik zal het eens proberen.

ps. ik gebruik VB en geen C#

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op 25 September 2003 @ 15:31:
ik zal het eens proberen.

ps. ik gebruik VB en geen C#
Ja en?
dan is het nog precies hetzelfde. De syntax moet je zelf maar een beetje zien te vertalen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
Bedankt iedereen!!

Ik heb het nu aan de praat!!
Dat vertalen was geen probleem. Allebei de talen zijn mij redelijk bekend!
Pagina: 1