06. januar 2007 - 17:49Der er
13 kommentarer og 1 løsning
Lave progressbar med ICallBackEventHandler
Jeg prøver at lave en progressbar med ICallBackEventHandler, men det er gået lidt i hårdknude.
Jeg skal lave validere en masse ting og derefter kaste dem i en DB. Planen var så at jeg vil vise brugeren hvor langt processen er kommet vedhjælp af ICallBackEventHandler.
Jeg har gjort følgende:
Den funktion jeg kalder fra clientside:
public string GetCallbackResult() {
// vide er hvorlangt processen er kommet if (vide == 0) { // her starter processen... start(); }
return (vide).ToString();
}
Men problemet er så bare at det hele går i stå indtil start() er færdig, klart nok :-)
Så nu er mit spørgsmål hvordan løser jeg ovenstående, skal jeg ud i noget med en tråd, og hvis det er løsningen hvad så med at får statusmeldinger?
Nå nu har jeg leget lidt med at lave arbejdet i en tråd, men det virker desværre ikke helt som planlagt:
Jeg har lavet følgende:
// vide er et tal mellem 1 og 100 som indikere hvor langt den er kommet public string GetCallbackResult() {
return (vide).ToString();
}
// Den her bliver kaldt fra min tråd 100 gange private void worker_Progress() { vide += 1; }
Hvis jeg sætter et breakpoint i begge metoder fungere det som det skal, men sætter jeg kun et break point i GetCallbackResult() bliver vide aldrig mere end 0.
Hvad sker der i den cyklus når jeg bruger IBackEventHandler?
Bliver mine lokale variabler initialisret her gang den kalder for det ser det ret meget ud til. hvis ja hvor kan jeg så gemme min variabel, jeg har prøvet i ViewState men det virkede heller ikke :-(
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.