Avatar billede Kim Neesgaard Seniormester
08. november 2005 - 15:22 Der er 13 kommentarer og
1 løsning

Wait-besked skal vises før stor SQL

Jeg har en webform med nogle søgekriterier, en kør-knap og et datagrid til at vise data. Under kør-knappen startes en rimelig stor og dermed langsom SQL og der kan derfor gå flere minutter. Jeg ville derfor gerne - fx. i en user control - vise et lille Javascript med en blinkende 'Wait', men denne vises først, når SQL' en ER færdigkørt.

Er der en måde at få vist 'Wait' på før SQL'en går i gang?
Avatar billede snepnet Nybegynder
08. november 2005 - 15:25 #1
hvordan sætter du beskeden igang?
mvh
Avatar billede Kim Neesgaard Seniormester
08. november 2005 - 17:10 #2
Jeg har forsøgt mig med at kalde en user form (dog pt. kun med en label i) som første kommando efter click eventet på knappen.
Avatar billede snepnet Nybegynder
09. november 2005 - 09:36 #3
den slags bliver nødt til at foregå clientside med mindre du laver dit sql-kald i en tråd for sig.
det er ikke fordi der skal så meget til ... du kan se et lille eksempel her:

// det du gerne vil have vist som ventebesked
<div id="someDiv" style="width:100px;height:100px;background:red;visibility:hidden;">VENTER....</div> 

// en knap der eksekverer kaldet
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

det der så er fidusen er, at du inden postback sørger for at få sat ventebeskeden synlig, hvilket du gør med et lille javascript.

function doSomething()
{
  document.getElementById('someDiv').style.visibility = 'visible';
  return true;
}

som du sørger for bliver kaldt når man trykker på knappen, hvilket du sikrer dig programmatisk ved:

Button1.Attributes.Add("onclick", "doSomething();");

resultatet er at javascript-metoden doSomething() kaldes  når der trykkes på knappen, og i og med at den returnerer true, sker der et postback (hvis den returnerer false, bliver siden ikke submitted).

du må spørge hvis det ikke er helt klart hvad der skal til.

mvh
Avatar billede Kim Neesgaard Seniormester
09. november 2005 - 15:36 #4
Undskyld spørgsmålet, men helt nøjagtig hvor skal doSomething skrives og skal den skrives nøjagtigt som her (evt. med et andet funktionsnavn)?
Avatar billede snepnet Nybegynder
09. november 2005 - 15:44 #5
doSomething skriver du bare imellem <head> og </head> sådan her:

<head>
<script laguage="javascript" type="text/javascript">
function doSomething()
{
  document.getElementById('someDiv').style.visibility = 'visible';
  return true;
}
</script>
</head>

du kan kalde den hvad du vil - og manilulere med det du vil i den... det er bare en rimelig enkel løsning af synliggøre et forberedt indhold i en div.

mvh
Avatar billede Kim Neesgaard Seniormester
09. november 2005 - 16:01 #6
Det gode er, at der ikke kommer en fejl og det mindre gode er, at jeg ikke kan se noget!! Jeg skriver den sidste ind her:

Sub RunButton_Click(sender As Object, e As EventArgs)
RunButton.Attributes.Add("onclick", "doSomething();")
osv.

og har foreløbig beholdt hele din navngivning.
Avatar billede snepnet Nybegynder
09. november 2005 - 17:14 #7
den her:
RunButton.Attributes.Add("onclick", "doSomething();")
skal du tilføje i f.eks. page_load
mvh
Avatar billede Kim Neesgaard Seniormester
10. november 2005 - 10:56 #8
Nej - hvor flot!!! Og den forsvinder selv igen, når SQL er kørt - hvorfor er detm at den gør det?
Avatar billede snepnet Nybegynder
10. november 2005 - 13:32 #9
den bliver bare vist frem når man klikker på den.... når siden renderes til browseren igen (efter din metode er kørt færdig) - er der ikke klikket.
mvh
Avatar billede Kim Neesgaard Seniormester
10. november 2005 - 16:35 #10
Mange tak for endnu et fint svar - vil du lægge et svar?
Avatar billede snepnet Nybegynder
10. november 2005 - 16:47 #11
kommer her - og velbekomme :o)
mvh
Avatar billede Kim Neesgaard Seniormester
20. november 2005 - 18:06 #12
Er et tillægsspørgsmål ok? I stedet for teksten kunne det jo være flot at vise en animeret GIF, der blinker 'vent' el. lign. - jeg kan godt få vist og slukket en sådan GIF, men den står stille uden animation. Er der en måde at få vist animationen på?
Avatar billede snepnet Nybegynder
20. november 2005 - 20:28 #13
tillægsspørgsmål er altid ok :o)
- starter animationen efter siden så er loadet igen eller?
mvh
Avatar billede Kim Neesgaard Seniormester
20. november 2005 - 22:04 #14
Jeg havde som udgangspunkt lagt den ind i <div>.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester