2010-11-23 34 views
1

J'ai un code qui définit le texte d'une étiquette à quelque chose du code derrière et je veux que cette étiquette disparaisse après quelques temps? J'ai essayé jQuery mais je ne veux pas utiliser la minuterie pour vérifier s'il y a du texte puis cachez-le :(J'ai entendu parler de la boîte à outils Ajax pour ASP.Net mais de nombreuses critiques ont dit que tous les outils ne fonctionnent plus correctement. Donc, quelqu'un sait une bonne solution pour cela?ASP.Net Simulation effet de fondu sortant du code derrière?

Merci,

+0

Utilisez-vous ASP.NET Ajax pour définir le libellé ou est-il défini lors du chargement de la page? Pourquoi devez-vous vérifier avec une minuterie? – Gidon

+0

Ainsi, lorsque vous définissez le texte de l'étiquette, vous voulez qu'il disparaisse? Donc, est-ce par exemple une étiquette de rétroaction pour informer l'utilisateur qu'une action a eu lieu? – GShenanigan

Répondre

0

En supposant que ce que vous voulez faire est de fondu l'étiquette peu de temps après que vous ayez assigné le texte dans le code-behind ...

Vous pourriez emballer l'étiquette dans un UpdatePanel d'ASP.NET. Ajoutez un AnimationExtender à partir du Ajax Control Toolkit. Lorsque vous mettez à jour le texte dans votre code-behind, appelez la méthode Update() du panneau de mise à jour et appelez ce script OnUpdated.

<asp:UpdatePanel id="upnl" runat="server"> 
    <ContentTemplate> 
     <asp:Label id="lbl" runat="server" CssClass="fadeLabel"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanelAnimationExtender ID="upax" runat="server" BehaviorID="animation" TargetControlID="upnl"> 
    <Animations> 
     <OnUpdated> 
      <Sequence> 
       <ScriptAction Script="fadeOut()" /> 
      </Sequence> 
     </OnUpdated> 
    </Animations> 
</asp:UpdatePanelAnimationExtender> 

Dans votre code derrière:

lbl.Text = "Assign Text"; 
upnl.Update(); 

Ensuite, ont juste une méthode appelée fadeOut() dans les balises de script dans la page qui effectue le fondu.

function BannerOut() { 
    $(".fadeLabel").fadeOut(1000); 
} 
1

Si vous voulez cet effet après un certain temps, puis une minuterie doit fonctionner. vous pouvez utiliser la méthode setTimeout pour ce faire

$(function(){ 
    setTimeout(function(){ 
     fadeText(); 
    },1000); 

    function fadeText() { 
     $("#yourlabelid").fadeOut("fast"); 
    } 
}); 

cette Fadeout votre étiquette après 1 seconde