2010-11-23 12 views
1

Ich habe einen Code, der den Text eines Labels auf etwas aus dem Code dahinter setzt und ich möchte, dass das Label nach einigen Malen verschwindet? Ich habe jQuery ausprobiert, aber ich möchte den Timer nicht benutzen, um zu überprüfen, ob es Text gibt, und ihn dann zu verbergen :(. Ich habe von Ajax Toolkit für ASP.Net gehört, aber viele Reviews sagten, dass nicht alle Tools jetzt richtig funktionieren. so jemand eine gute Lösung für das wissen?ASP.Net Simulierter Ausblendeffekt vom Code dahinter?

Danke,

+0

Verwenden Sie derzeit ASP.NET Ajax zum Festlegen des Labels oder wird es beim Laden der Seite festgelegt? Warum müssen Sie es mit einem Timer überprüfen? – Gidon

+0

Also, wenn Sie den Text des Etiketts festlegen, möchten Sie es dann ausblenden? Gibt es beispielsweise ein Feedback-Label, um den Benutzer darüber zu informieren, dass etwas unternommen wurde? – GShenanigan

Antwort

0

Angenommen, dass Was Sie tun möchten, ist das Etikett kurz nach dem Zuweisen des Textes in Code-Behind ... auszublenden.

Sie könnten das Etikett in ein ASP.NET UpdatePanel umbrechen. Fügen Sie einen AnimationExtender von Ajax Control Toolkit hinzu. Wenn Sie den Text in Ihrem Code-Behind aktualisieren, rufen Sie die Update() - Methode des Update-Steuerfelds auf und rufen Sie ein Script OnUpdated auf.

<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> 

In Ihrem Code hinter:

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

Dann haben nur eine Methode fadeOut() innerhalb Script-Tags auf Ihrer Seite aufgerufen, die Fade durchführt.

1

Wenn Sie diesen Effekt nach einiger Zeit wollen, dann sollte ein Timer ausgeführt werden. Sie können die setTimeout-Methode verwenden, um dieses

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

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

, dies zu tun wird Ihr Etikett nach 1 Sekunde ausbleichen