Avatar billede vraa Nybegynder
31. marts 2005 - 12:47 Der er 7 kommentarer og
1 løsning

after page_load funktion ønskes

Findes der en måde at udføre en handling i c# der udføres efter siden er genereret.

Jeg skal fyre noget javascript af så det ligger sidst i dokumentet og det skal ligge i en IF sætning.
Avatar billede burningice Nybegynder
31. marts 2005 - 12:58 #1
jeg ville override Render metoden på dit Page object, og udskrive scriptet til HtmlTextWriter'en du får som argument.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuicontrolclassrendertopic.asp
Avatar billede vraa Nybegynder
31. marts 2005 - 13:07 #2
OK. Hvordan og hvornår skal jeg fyre den af.
I min codebehind skal jeg have gjort sådan at følgende script kommer til at ligge sidst i <body>:

<script>document.all.btnNySide.style.visibility='visible';</script>
Avatar billede burningice Nybegynder
31. marts 2005 - 13:29 #3
render-metoden bliver automatisk kaldt når at siden skal til at renderes. Det du skal gøre er at sørge for at rendere alle dine controller på siden først, og til sidst dit eget script.

Noget i retningen af

protected override void Render(HtmlTextWriter w) {
  if (this.HasControls) {
      foreach (Control c in this.Controls) c.Render(w);
  }
  writer.Write("<script>document.all.btnNySide.style.visibility='visible';</script>");
 
}


Men ved nærmere eftertanke tror jeg det bedste ville være bare at tilføje en LiteralControl i enden af din control-hireaki.


void Page_Load() {
  // Gør det der skal gøre

  this.Controls.AddAt(new LiteralControl("<script>document.all.btnNySide.style.visibility='visible';</script>"), this.Controls.Count);
}
Avatar billede casper_skovgaard Nybegynder
31. marts 2005 - 15:12 #4
Du kan også bruge onload.

<body onload="<%= strOnLoadMessage%>">
Avatar billede burningice Nybegynder
31. marts 2005 - 15:35 #5
casper>> kan du huske før i tiden hvor mange sider synes det var helt vild smart at have en form for Besked ala "Siden loader", der dækker det hele og så forsvinder når siden er færdig med at indlæses? Jeg går ud fra det er noget lign. vraa prøver at opnå, og det kan ikke gøres ved <body onload>
Avatar billede vraa Nybegynder
31. marts 2005 - 15:47 #6
Cyberfessor>> Dit forslag virkede. Det er ikke det jeg loadbar jeg skal have. Det var blot noget javascript jeg skal have fyret i min codebehind fil.

Men tak for hjælpen :-) Lægger du lige et svar.
Avatar billede vraa Nybegynder
31. marts 2005 - 15:48 #7
Hold k... jeg mumler. Der er ikke en bar der viser hvor langt siden er fra at være loadet ind jeg skal bruge. Puha det var svært at få sagt :-/
Avatar billede burningice Nybegynder
31. marts 2005 - 16:47 #8
:)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester