2009-12-01 3 views
1

Pour le scénario suivant:FileUpload show message en attente tandis que PostBack est excecuting

J'ai un contrôle ASP.NET FileUpload et un bouton qui postbacks pour télécharger le fichier sélectionné.

Je voudrais savoir si avec javascript je peux:

  1. Démarrer montrant une image (l'image de chargement) lorsque quelqu'un clique sur le bouton qui excecutes le téléchargement
  2. Ne plus afficher l'image lorsque le téléchargement de le fichier est complet

Restrictions: Je ne peux pas utiliser ajax dans ce cas.

Répondre

2

Vous pouvez faire quelque chose comme ça.

<asp:FileUpload ID="FileUpload" runat="server" /> 
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClientClick="DisplayWaiting()"/> 
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/waiting.jpg" style="display:none;" /> 

<script language="javascript"> 
function DisplayWaiting() 
{ 
    var img = document.getElementById("Image1"); 
    img.style.display = 'block'; 
} 
</script> 

Le tag d'image a son attribut d'affichage par défaut défini sur none. Lorsque le bouton de téléchargement est cliqué, la fonction DisplayWaiting() est appelée pour basculer l'attribut d'affichage à bloquer, affichant l'image. Après le retour de la page, le tag d'image est rendu avec son attribut d'affichage défini sur none, masquant l'image.

0
<div id="divLoadingImgID" style="display:none;"><img src="path/to/loading/img.gif"/></div> 

function uploadNow(){ 
    document.getElementById ("divLoadingImgID").style.display = "inline"; 
    // I don't how you are uploading the file. Anyways write your code here. 
    // And then set document.getElementById ("divLoadingImgID").style.display = "block"; when your uploading is done. 
} 
Questions connexes