webForumDet fria alternativet

Buffer + Flush

9 svar · 306 visningar · startad av fredrik

fredrikMedlem sedan dec. 19991 082 inlägg
#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?

PMedlem sedan jan. 20012 107 inlägg
#2

javascipt? flash?

fredrikMedlem sedan dec. 19991 082 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...

PaceMedlem sedan juni 20015 947 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å.

icaaqMedlem sedan okt. 20004 910 inlägg
#5

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

fredrikMedlem sedan dec. 19991 082 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...

kristofferMedlem sedan juni 20001 266 inlägg
#7

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

PaceMedlem sedan juni 20015 947 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.

fredrikMedlem sedan dec. 19991 082 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...

icaaqMedlem sedan okt. 20004 910 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

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb