Avatar billede dpouls1 Nybegynder
06. juli 2006 - 13:16 Der er 10 kommentarer og
1 løsning

Popup kører videre men hovedsiden returnerer til klienten

Jeg har brug for at brugeren ved et tryk på en knap får åbnet en popup som foretager nogle meget tidskrævende aktioner. Hovedsiden skal kunne bruges normalt mens popup'en fortsætter sit arbejde sideløbende.

Er det overhovedet muligt og hvordan skal jeg håndtere Response til klienten fra hovedsiden evt. popup'en?

*Som det fungerer nu: Brugeren trykker på en knap som åbner en popup og udfører de tidskrævende aktioner. Det er ikke muligt at benytte hovedsiden indtil popup'en har udført sine aktioner*
Avatar billede akempff Nybegynder
06. juli 2006 - 13:59 #1
Du skal bruge Show(); hvis der ikke skal blokkes til hovedformen til den nye form afsluttes.
Du bruger nok ShowDialog(); i øjeblikket.

Angående at få et svar tilbage fra den nye form, så kan jeg lige komme på 2 metoder, 1. refence til hovedformen eller 2. delegates.
1.  Du laver en constructor på child formen, der tager din hovedform (Form1) som argument.
Herefter kalder du en public metode på din Form1 der giver dig det data du skal have.

2.  Du laver en delegate på din hovedform som sendes med i constructoren på din child form, og den kaldes når arbejdet er udført og dataen er klar.
Avatar billede dpouls1 Nybegynder
06. juli 2006 - 14:00 #2
Sorry - skulle nok lige have nævnt at det er WEB
Avatar billede akempff Nybegynder
06. juli 2006 - 14:04 #3
Eksempel på 1.

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Form2 frm = new Form2(this);
            frm.Show();
        }
        public void DoStuff(string stuff){
        this.label1.Text = stuff;
        }
    }
Avatar billede akempff Nybegynder
06. juli 2006 - 14:05 #4
ahh...ja så skal den nok i asp.net kategorien
Avatar billede Syska Mester
06. juli 2006 - 14:09 #5
*irkkk* dvs din webserver ikke kan håndtere 2 klienter samtidigt? Sådan lyder det lidt når du skriver at den ikke kan loade den anden side, mens du browser videre.....

Der er noget helt galt enten med dig spm eller noget, for det giver nada mening

// ouT
Avatar billede dpouls1 Nybegynder
06. juli 2006 - 14:12 #6
Hovedsiden går ikke ned og mister heller ikke forbindelse til klienten, men den kommer i kø til popup'en er færdig. Derefter fortsætter den. F.eks. efter at popup'en er åbnet og jeg foretaget et postback på hovedsiden, hænger hovedsiden til popup'en har udført sine aktioner.
Avatar billede akempff Nybegynder
06. juli 2006 - 14:17 #7
buzzzz tror han mener at mens arbejdet forgår er der intet output, så klienten "hænger".  Og sådan som jeg har forstået det så vil du (dpouls1) gerne have at man får noget feedback i det originale vindue?  For som buzzzz også er inde på, så lyder det jo som en oplagt løsning at bare åbne et nyt vindue (target="_blank" eller noget) til at arbejde på den store data...og så bare give output i eget vindue om at den var færdig på et eller andet tidspunkt.

Hvis du skal have noget output i det originale vindue, så er det måske noget ajax du skal kigge på eller kommunikerere mellem de 2 tråde via sessionen og så polle i det originale vindue....men jeg er ikke den stor web programmør.
Avatar billede akempff Nybegynder
06. juli 2006 - 14:18 #8
Ja ok...havde ikke lige læst det ovenstående.  Jeg er blank og må give op :)
Avatar billede dpouls1 Nybegynder
06. juli 2006 - 14:24 #9
Jeg åbner et nyt vindue vha. target="_blank" men problemet ligger i at det skal gøres clientside og derfor overføres HttpResponse fra hovedvinduet som popup'en kører videre på. Derfor står popup'en nu med bolden og hovedvinduet får ikke bolden tilbage før popup'en har udført aktionerne.

Jeg ved ikke om det kan omgås, men det er muligt at jeg skal bruge noget threading.
Avatar billede dpouls1 Nybegynder
06. juli 2006 - 14:30 #10
Tak for forsøget. Jeg smider den over i .NET kategorien i stedet.
Avatar billede Syska Mester
06. juli 2006 - 14:44 #11
Du kan ikke styre Threading hvis det er klientside..... men så er det jo heller ikke web.

// ouT
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