07. marts 2007 - 16:14Der er
15 kommentarer og 1 løsning
Kør javascript når usercontrol loades.
Jeg vil gerne have at en bestemt javascript funktion skal køres når jeg dynamisk loader min usercontrol.
Det område hvor usercontrollen loades, er pakket ind i et updatepanel, og opdateres med AJAX, og jeg ved ikke om det har nogen indflydelse.
jeg har prøvet at lave en <asp:literal> og give den en javascript tekst, som beskrevet i dette indlæg http://www.eksperten.dk/spm/415241 men det virker ikke, udover at det bliver skrevet ud på skærmen.
Ingen succes overhovedet. Ingen af svarene hjælper mig, så mit problem ligger måske andetsteds. Jeg har selv brugt ClientScript.RegisterStartupScript() til noget javascript jeg har i main siden. Men så snar jeg prøver at benytte dette her i usercontrols, virker det ikke.
Jeg ryger ned i en postback, har checket med breakpoints. Men der sker bare intet med det javascript.
Qawi-> Jeg tror du har misforstået mig. Spørgsmålet jeg linker til er ikke et jeg selv har oprettet, men hvor jeg har søgt. Og spørgsmålet datere helt tilbage til 2003.
Jeg er kommet lidt videre. Har skabt et nyt projekt hvor jeg prøver at finde fejlen.
Loader jeg usercontrollen i min main sides pageload, virker javascript perfekt i usercontrollen. Men så snart jeg loader min usercontrol når jeg bruger AJAX, virker det ikke.
Hvis det skal være helt rigtigt - skal koden nok også se sådan her ud (fuldt eksempel): public partial class WebUserControl1 : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Page.ClientScript.RegisterStartupScript(this.GetType(), "someKey", "alert('blah');", true); } } }
Det burde virke helt uden problemer, såfremt din usercontrol er indsat deklarativt på siden.
Og der er ingen AJAX tingeltangel med. Usercontrollen ser ens ud, bortset fra at det nu er (!Page.IsPostBack) da AJAX ikke længere skaber en postback og jeg loader controllen i pageload ved første sidevisning..
skal lave noget javascript logik i en usercontrol, a.la et galleri. Og der skal de nødvendige javascript funktioner være til at opdatere diverse document. controls på usercontrolen.
Snepnet -> det behøves ikke. Jeg har fundet en løsning på det. I var inde på noget af det rigtige. Til orientering af andre, var det ikke ClientScript.RegisterStartupScript(this.GetType(), "someKey", "alert('blah');", true); eller Page.RegisterStartupScript(this.GetType(), "someKey", "alert('blah');", true);
Der skulle benyttes når man vil bruge javascript i usercontrols der loades med AJAX, MEN man skal bruge ScriptManager.RegisterStartupScript(this.GetType(), "someKey", "alert('blah');", true);
Hvor scriptmanageren er ens AJAX manager.
Men mange tak for hjælpen. Snepnet, du har været utrolig hjælpsom, og dit råd fik mig på sporet af det her. Så smid et svar. og endnu en gang tak.
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.