webForumDet fria alternativet

Buffer + Flush

.NET

9 svar · 306 visningar · startad av fredrik

Medlem sedan dec. 19991 072 inlägg
Frågan#1

Jag vet att jag haft uppe detta tidigare...men lägger upp det på lite nytt sätt nu...

Jag har problem med att visa upp en "Vänligen vänta...laddar.."-skylt när sidan laddas.

Tidigare i ASP 3 så skrev jag helt enkelt ut en "<DIV>" och därefter gjorde jag "Response.Flush". När sedan sidan var färdig-laddad dolde jag återigen min "<DIV>".

Har nu försökt göra samma sak i ASP.NET men utan några som helst framsteg. Den verkar helt enkelt strunta i min "Response.Flush" (sätter den i Page_Load).

Att sätta "Response.BufferOutput = False" är uteslutet då detta mer eller mindre verkar "hänga" hela sidan...och skulle dessutom resultera i att "Väntaskylten" var uppe samtidigt som annan info.

Vad jag nu funderade på var om det möjligtvis kunde vara så här:

På min sida har jag ett antal "Panels", så när sidan kommer till "Page_Load", så har kanske redan en "Panel" börjat skapas och därav så fungerar inte min "Response.Flush", för den vill göra "Flush" först när min "Panel" är helt klar.

Vet ej om det kan vara så...men kanske...

Är det nån som har lyckats/misslyckats med liknande i ASP.NET? eller som har några tips eller idéer?

Medlem sedan jan. 20012 204 inlägg
#2

javascipt? flash?

Medlem sedan dec. 19991 072 inlägg
#3

Just nu skriver jag bara ut typ: "<div id='SearchDiv' style='position:absolute;left:20px;top:20px;'>Please wait...</div>".

Sen släcker jag lagret när sidan är färdig skapad. Lägger ev. in en bild i div.en sen...

Medlem sedan juni 20019 024 inlägg
#4

Låt mig ställa en motfråga: Varför ska du ha en "sidan laddas"? Jag tror de flesta förstår det ändå.

Medlem sedan okt. 20005 273 inlägg
#5

Jag hänger på Pace ....hur stor är sidan ?

Medlem sedan dec. 19991 072 inlägg
#6

Sidan kan ta upp till 1 (max 2) minut(er) att ladda.... :)

Den pratar med ett back-office system som är ganska slött (ej byggt av oss) och det är när man "Commitar" en bokning som detta system ska köra igång ett antal processer som tar väldigt tid.

Kommunikationen sker med http/xml.

Boknings-dialogen är förövrigt i ett popup-fönster, där menyerna är bort-tagna, så man ser varken "status"-laddaren, "snurran" eller nåt timglas för musen...

Kunden har själv bett om en "vänta"-bild...

Medlem sedan juni 20001 257 inlägg
#7

Posta gärna lösningen när du är klar.

Medlem sedan juni 20019 024 inlägg
#8

Aha.

Testa med två frames, varav en som tar upp 100% av sidutrymmet som även innehåller någon "sidan laddas"-bild. I den andra ramen (som då är osynlig) kör du scriptet. När scriptet är färdigt, kan du redirecta till en ny sida som byter text i "sidan laddas"-fönstret till "Klart!" med hjälp av javascript.

Medlem sedan dec. 19991 072 inlägg
#9

Tack för tipset...men...problemet är att jag behöver visa upp en massa boknings-information (data som jag får tillbaka efter anropet). Nu gör jag det med div. ASP.NET kontroller och om jag ska göra en Redirect så blir det nog jobbigt att få med all data...

...men jag funderar vidare...måste ju funka på nåt sätt...får prova att maila nån på MS annars...

Medlem sedan okt. 20005 273 inlägg
#10

Bara ett tips:
Testa att ställa frågan hos DotNetJunkies Där har jag fått en del svar .... men komihåg att posta svaret här sen

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)