24. april 2007 - 12:14Der er
9 kommentarer og 1 løsning
JavaScript i UserControl
Hej,
Jeg har noget JavaScript på min default.aspx-side som fungerer fint. Hvis jeg laver en UserCotrol og sætter den på siden, og denne UserControl også indeholder JS, renderer den ikke det der er på min default-side, men kun det på min UserControl.
Hvordan kan det være?
Det i min UserControl består af en function GetCount()
Den javascript metode du kalder på defaul.aspx siden, knytter du også den på window.onload event'en? For du kan kun assigne en function til din onload event på samme aspx side. Og idet din UserControl tilføjes til default.aspx siden bliver den ene onload function "overskrevet" af den anden (hvis det altså er det du gør). En mulig løsning ville være at proppe begge metode kald ind i din function du definerer ovenover, altså noget lignende:
Jeg tror lidt crazysnap er inde på hvad det er der sker, tror den function på hovedsiden bliver overskrevet (renderes UserControls inden hovedsiden?) - for hvis jeg lader den function der hedder GetCount() stå i usercontrol'en, men først kalder den på hovedsiden, efter hovedsidens function, så det ser således ud:
Glad for at kunne hjælpe, for min skyld tager du bare pointene selv (i det du selv fik løst det) og for lige for at svare på dine to spørgsmål fra 27/04-2007 11:04:50 hvis du ikke selv har fundet svaret:
1) Om UserControls intialiseres inden hovedsiden.
- Hovedsiden loades altid først og derefter dens usercontrols. Altså Page_Load kaldes først på hovedsiden og derefter på din(e) UserControl(s).
2) Hvordan kommer man i kontakt med drp fra UserControl'en når drp eksiterer på hovedsiden.
- Jeg kender ikke til andre løsninger end at du må lave en accessor (property) på din usercontrol så du kan assigne drp-control'en fra hovedsiden. Altså noget lignende:
Du har en accessor på på UserControl'en:
private <drp-Typen> m_drp;
public <drp-Typen> DrpControl { set { m_drp = value; } }
Hey Crazysnap! Tak for denne fine forklaring. Det var lige det jeg ledte efter, altså med at få den registreret på en eller anden måde så den kan findes fra hovedsiden med getElementById..
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.