2013-04-09 4 views
3

J'ai une page en ce que lorsque nous cliquons sur créer un bouton envoie une requête web pour obtenir tous les liens mais signifie alors qu'il faut un certain temps pour obtenir tous les liens fonctionnent ou pas à ce moment je veux mettre image chargeComment charger une image lors d'un traitement?

Button ID="btnRender" runat="server" Text="Page Render" OnClick="btnRender_Click" /> 
     <asp:Button ID="btn_submit" runat="server" Text="Submit" OnClientClick="javascript:finda();" /> 
     <asp:Button ID="btn_createlink" runat="server" Text="Create link" OnClick="btn_createlink_Click" /> 

je veux appeler sur le bouton btn_createlink_Click » lorsque l'utilisateur clique sur l'image ou le texte doit apparaître

+0

Quel genre de demande web que vous faites? Ajax? – jpmorin

+0

httpwebrequest pour obtenir des liens – hitarth

Répondre

3

Sans Ajax outil:
Ceci appellera l'image de chargement sur le bouton et cliquez masquer l'image de la charge de la page complète.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
     function ShowProgressBar() { 
     document.getElementById('dvProgressBar').style.visibility = 'visible'; 
     } 

     function HideProgressBar() { 
     document.getElementById('dvProgressBar').style.visibility = "hidden"; 
     } 
    </script> 
</head> 
<body onload="javascript:HideProgressBar()" > 
    <form id="form1" runat="server"> 
    <div> 
    <div style="float:left;"> 
     <asp:Button ID="btn_createlink" runat="server" Text="Create link" OnClick="btn_createlink_Click" OnClientClick="javascript:ShowProgressBar()" /> 
    </div> 
    <div ID="dvProgressBar" style="float:left;visibility: hidden;" > 
     <img src="/images/progress_bar.gif" /> resolving address, please wait... 
    </div> 
    <br style="clear:both" /> 
</div> 
    </form> 
</body> 
</html> 


+0

vous avez raison mais Je veux appeler cette image sur ce bouton – hitarth

+0

S'il vous plaît voir la réponse mise à jour. – Sunil

+0

merci @sunil .. – hitarth

0

Vous pouvez y arriver avec l'aide de multithreading avec le composant BackgroundWorker. Jetez un coup d'oeil sur Multithreading with Backgroundworker

Backgroundworker C# backgroundworker

and this

Vous pouvez appeler votre image loading.gif dans la méthode _Dowork. J'espère que cela t'aides.

+0

désolé bro son like (http://validator.w3.org/checklink) alors quand l'utilisateur va cliquer sur vérifier son prend un certain temps à droite pour vérifier les liens à ce moment je veux que l'image de chargement – hitarth

0

EDIT:

Vous pouvez jeter un oeil à HttpResponse.Flush

Forces toutes bufférisées actuellement à envoyer au client. La méthode Flush peut être appelée plusieurs fois lors du traitement de la requête.

Voir le lien suivant: HttpResponse.Flush Method

Vous pouvez afficher une image de chargement et appeler cette méthode chaque X nombre de liens chargés.

VIEUX:

Puisque la question manque des informations, je suppose que vous faites un appel Ajax afin d'obtenir une collection de liens à partir du serveur et mettre à jour une table.

Je vous suggère d'utiliser jQuery et de suivre cette réponse précédente sur SO afin d'afficher une roulette de chargement animée lorsqu'une requête est faite et de la cacher quand elle est complétée.

Voir le lien: Jquery Ajax Loading image

+0

désolé son bro comme (http://validator.w3.org/checklink) alors quand l'utilisateur cliquera sur vérifier qu'il prend un peu de temps pour vérifier les liens à ce moment-là je veux que l'image de chargement. mais ce n'est pas ajax – hitarth

+0

@hitarth J'ai édité ma réponse selon à votre commentaire. Je suggère d'utiliser la méthode HttpResponse.Flush. – jpmorin

Questions connexes