Sdílet prostřednictvím


Zakázání akcí během animace (C#)

Christian Wenz

Stáhnout PDF

Ovládací prvek Animace v ASP.NET AJAX Control Toolkit není jen ovládací prvek, ale celá architektura pro přidání animací do ovládacího prvku. Podporuje také akce, jako je kliknutí myší. Když ale kliknutí myší spustí animaci, je žádoucí během animace kliknutí myší zakázat.

Přehled

Ovládací prvek Animace v ASP.NET AJAX Control Toolkit není jen ovládací prvek, ale celá architektura pro přidání animací do ovládacího prvku. Podporuje také akce, jako je kliknutí myší. Když ale kliknutí myší spustí animaci, je žádoucí během animace kliknutí myší zakázat.

Postup

Nejprve na stránce zahrňte ScriptManager . Pak se načte ASP.NET knihovna AJAX, což umožňuje použití sady nástrojů Control Toolkit:

<asp:ScriptManager ID="asm" runat="server" />

Animace se použije na tlačítko HTML takto:

<input type="button" ID="Button1" runat="server" Value="Launch Animation" />

Všimněte si, že html ovládací prvek se používá místo webového ovládacího prvku, protože nechceme tlačítko vytvořit postback; jen spustí animaci na straně klienta pro nás.

Pak na stránku IDTargetControlID přidejte AnimationExtender , atribut a povinný runat="server"parametr :

<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Button1">

V rámci <Animations> uzlu je správný prvek pro <OnClick> zpracování kliknutí myší. Na tlačítko se ale dá kliknout i během animace. Prvek se <EnableAction> o to dokáže postarat. Nastavení Enabled="false" zakáže tlačítko jako součást animace. Vzhledem k tomu, že používáme několik jednotlivých animací (zakázání tlačítka a samotných animací), <Parallel> je nutné prvek připevnit jednotlivé animace dohromady do jedné. Tady je kompletní kód pro AnimationExtender:

<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Button1">
 <Animations>
 <OnClick>
 <Parallel>
 <EnableAction Enabled="false" />
 <FadeOut Duration="1.5" Fps="24" />
 <Resize Width="1000" Height="150" Unit="px" />
 </Parallel>
 </OnClick>
 </Animations>
</ajaxToolkit:AnimationExtender>

Bylo by také možné znovu povolit tlačítko po animaci pomocí následujícího elementu XML na konci seznamu:

<EnableAction Enabled="true" />

V daném scénáři by to ale bylo k ničemu, protože tlačítko zmizí a na konci animace se nezobrazuje.

Tlačítko se zakáže, jakmile se spustí animace.

Tlačítko se zakáže, jakmile se spustí animace (kliknutím zobrazíte obrázek v plné velikosti).