Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 16:22 Der er 16 kommentarer og
1 løsning

Lav en popup fra side 1, fyre en event på side 1 når popup lukker

Kan det lade sig gøre?
Avatar billede simon.ulsnes Nybegynder
29. oktober 2002 - 16:30 #1
Nej, det kan det desværre ikke sådan lige umiddelbart. Det er fordi pop-ups er client-side og ASP.NET og dertil hørende events er server-side...

// Simon
Avatar billede burningice Nybegynder
29. oktober 2002 - 16:31 #2
simon.ulsnes>> arr... sikker... er asp.net ikke guds gave til menneskene, sikker på at den ikke kan ALT?
Avatar billede burningice Nybegynder
29. oktober 2002 - 16:33 #3
tmoritsen>> du kan lave det på den måde, at når popvinduet lukker, redirecter den dig til side 1, men en querystring, f.eks. side1.aspx?event=minevent og i page_load'en på side1 kan du så tjekke om eventen indeholder noget. Hvis den gør skal den event udføres.
Avatar billede simon.ulsnes Nybegynder
29. oktober 2002 - 16:33 #4
cyberfessor >> :-)
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 17:06 #5
cyberfessor>> Problemet med din løsning er, i mit tilfælde, at der skal vælges nogle elementer fra en dropdownliste på side 1, Hvis elementet ikke eksisterer, skal det være muligt at trykke på en knap der åbner et popup, hvori det nye element kan oprettes, og så returnere til side 1 og opdatere indholdet i dropdownlisten. Men der ligger en masse informationer i ViewState som jeg også skal bibeholde, og kan derfor ikke benytte dit redirect trick. Umiddelbart forestiller jeg mig at det kan lade sig gøre at fyre en event, clientside, som resulterer i postback og så kan jeg kontrollere på event'en serverside.
Avatar billede burningice Nybegynder
29. oktober 2002 - 17:13 #6
tmouritsen>> du kan da sagtens fremkalde en postback, det er jo bare at bruge følgende funktion i java script: document.formnavn.submit
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 17:13 #7
Postback bliver triggered med en metode der hedder __doPostBack('Element', 'Command'), ken den nåes fra popup'en?
Avatar billede burningice Nybegynder
29. oktober 2002 - 17:15 #8
problemet er bare at du ikke kender formnavnet, da det jo bliver dynamisk oprettet af asp.net.

men hvis du siger at indholdet af dropdownloasten skal opdateres, jeg går ud fra at det er taget fra en db, bliver du jo nød til at lave et round-trip til serveren for at få det nye element med som lige er oprettet via din popup
Avatar billede burningice Nybegynder
29. oktober 2002 - 17:17 #9
tmouritsen>> __doPostBack er en funktion i javascript, som du jo bare kan kalde, f.eks. <a href"java script:__doPostBack('ad','af')">Do PostBack</a>
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 17:30 #10
cyberfessor>> Jeg kan sagtens angive et formnavn, så jeg kender det. Jeg spekulere på at lave et skjult felt, hvori jeg angiver om det er grundet en ændring i popup'en der foretages et postback, og så tage hånd om det på serveren.

Men hvis jeg kan kalde __doPostBack() på side 1 fra popup'en så er alle mine problemer løst. Men ved du hvordan?
Avatar billede burningice Nybegynder
29. oktober 2002 - 17:40 #11
tmouritsen>> det kan du ikke...
Avatar billede burningice Nybegynder
29. oktober 2002 - 17:41 #12
altså kalde en funktion på en side fra en anden side
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 17:46 #13
Jepper.

Jeg er på ingen måde en ørn til clientside scripting, og kender slet ikke til den objektmodel der er til rådighed. Jeg prøver mig lidt frem.
Avatar billede burningice Nybegynder
29. oktober 2002 - 18:34 #14
tmouritsen>> hele problemet ligger i at kode på en side, ikke er tilgængelig på fra anden side... jeg kan dog ikke se hvorfor du ikke, efter at have indsat et element fra din popup, ikke kan reloade din side1. Den skal jo reloades ALLIGEVEL for at du kan få det indsatte element fra din popup ind i dropdown'en
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 19:12 #15
Der er nogle forskellige indtastninger, der kun skal gemmes i DB'en hvis brugeren vil gemme. Til de midlertidige værdier benytter jeg ViewState. Hvis jeg laver alt andet end en postback, så smutter viewstate informationerne.

Jeg kan sagtens opdatere indholdet i dropdownlisten ved at kalde en metode der gør netop det, i forbindelse med en postback - og i det tilfælde vil jeg også bibeholde de indtastede værdier i viewstate.

Jeg er kommet så langt at jeg har gemt en skjult værdi fra popup vinduet, i hovedvinduet, og jeg forsøger nu på at lave en postback. Et sådan postback vil trigger den listener jeg har kørende på den skjulte værdi, og så kan jeg foretage opdatering af dropdownlisten.
Avatar billede tmouritsen Nybegynder
29. oktober 2002 - 19:22 #16
Det er lykkedes.

Smid lige et svar, så du kan få nogle point.
Avatar billede burningice Nybegynder
29. oktober 2002 - 19:38 #17
:) dejligt
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