webForumDet fria alternativet

Varför visas meddelandet för sent?

.NET

3 svar · 314 visningar · startad av Smyke

Medlem sedan mars 200518 inlägg
Frågan#1

Hej
Håller på med en enkel "progress"-funktion. Tanken är att så länge min uploadsida "laddar upp" en fil ska där finnas ett meddelande där det står "please wait" eller liknande (för att användaren inte ska klicka på "bakåt" eller "stopp" i tron att datorn låst sig).

Trodde jag kommit på en smart och enkel lösning men får det inte att funka. Meddelandet visas inte förren filen är färdigladdad vilket ju är meningslöst. Så här hade jag tänkt det hela (koden något förenklad):

void UploadFile(object Sender, EventArgs E)
   {
      if (myFile.PostedFile !=null)
	{		
	   try                 	
	     {  
              myLabel.Visible = true;  
              myFile.PostedFile.SaveAs(Server.MapPath("xmldb\\minfil.\\" + StrFileName));
              myLabel.Visible = false;
           catch
           { .........

Men meddelandet både visas och försvinner efter uploadfunktionen är klar. Vad kan det bero på?

Medlem sedan apr. 20012 266 inlägg
#2

Eftersom myLabel.Visible = true; inte påverkar klienten först än funktionen är klar och svar skickas till klienten, och då har du redan satt den till false igen.

Lösningen torde vara någon form av javascript, som visar "progress", triggas från klienten när användaren klickar på en knapp eller dyl, sedan när uppladdningen är klar laddas sidan om och "progress" försvinner.

Medlem sedan mars 200518 inlägg
#3

Ahh. såklart. Allting utförs på servern och skickas till klienten när det är klart. Borde tänkt på det själv.... suuck

Medlem sedan apr. 20012 266 inlägg
#4

Acceptera rätt svar :)

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)