06. juli 2006 - 13:16Der 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*
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
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.
public partial class Form1 : Form { public Form1() { InitializeComponent(); Form2 frm = new Form2(this); frm.Show(); } public void DoStuff(string stuff){ this.label1.Text = stuff; } }
*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
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.
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.
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.
Du kan ikke styre Threading hvis det er klientside..... men så er det jo heller ikke web.
// ouT
Synes godt om
Ny brugerNybegynder
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.