Alla av oss har varit med om otåliga användare. Jag själv är mycket otålig ibland, speciellt om det inte verkar som det händer någonting. Här är ett trevligt exempel på hur man skall motverka detta genom att visa en ruta som talar om för användaren att någonting verkligen håller på att hända. Det som är lite speciellt med just den här rutinen är att jag använder mig av en javascriptfunktion, som gör att "förloppsindikatorn" animeras med olika färger som flyter fram och tillbaka.

Det finns många sätt att lösa det här problemet. Men ett av de enklaste lösningarna är att registrera en funktion till händelsen onClick för det elementet (ett eller flera) som man vill skall visa "Please Wait" när det aktiveras. Nedan har vi en ASP.NET Serverkontoll, som genererar en knapp, men som ni säkert lägger märke till finns ingen onClick i den deklarationen. Det är av det skälet att registreringen måste göras i code-behind-filen om det är en ASP.NET serverkontroll som man vill använda sig av.
PleaseWait1.Aspx
<asp:button id="ButtonShowPleaseWait" runat="server" text="Run Long Task" />
PleaseWait1.Aspx.Vb
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
ButtonShowPleaseWait.Attributes.Add("onclick", "showPleaseWait()")
End Sub
Nästa steg är att skapa javascriptfunktionen som skapar rutan där "Please Wait" skall visas. (Den skrivs in i PleaseWait1.Aspx.) Funktionen initPleaseWait() initierar rutinen Color Shift, vilket är den som sköter vandringen av färger. (Jag går inte igenom den rutinen, men kolla gärna in han som har utvecklat den rutinen, slayeroffice.com.) Detta för att det skall se lite roligare ut. Det endra som görs i rutinen är helt enkelt att rutan med texten och grafiken visas.
function showPleaseWait() {
initPleaseWait();
var o = document.getElementById("PleaseWait");
o.style.display = "block";
}
Efter att denna funktion har körts kommer en submit() av sidan att ske. Sidan börjar inte ritas om förrän webbservern börjar spotta ut html. Det gör att "Please Wait" kommer att visas ända fram tills detta sker.
"Thanks SlayerOffice for your excellent site!"
Download, the example here...
Recent Comments