Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il controllo Animation nel ASP.NET AJAX Control Toolkit non è solo un controllo, ma un intero framework per aggiungere animazioni a un controllo. L'animazione può anche essere modificata usando codice JavaScript lato client personalizzato.
Panoramica
Il controllo Animation nel ASP.NET AJAX Control Toolkit non è solo un controllo, ma un intero framework per aggiungere animazioni a un controllo. L'animazione può anche essere modificata usando codice JavaScript lato client personalizzato.
Passaggi
Prima di tutto, includere nella ScriptManager pagina; quindi, la libreria ASP.NET AJAX viene caricata, rendendo possibile l'uso di Control Toolkit:
<asp:ScriptManager ID="asm" runat="server"/>
L'animazione verrà applicata a un pannello di testo simile al seguente:
<asp:Panel ID="panelShadow" runat="server" CssClass="panelClass">
ASP.NET AJAX is a free framework for quickly creating a new generation of
more efficient, more interactive and highly-personalized Web experiences
that work across all the most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of
more efficient, more interactive and highly-personalized Web experiences
that work across all the most popular browsers.<br />
ASP.NET AJAX is a free framework for quickly creating a new generation of
more efficient, more interactive and highly-personalized Web experiences
that work across all the most popular browsers.<br />
</asp:Panel>
Nella classe CSS associata per il pannello definire un bel colore di sfondo e impostare anche una larghezza fissa per il pannello:
<style type="text/css">
.panelClass {background-color: lime; width: 300px;}
</style>
L'animazione effettiva viene avviata da un pulsante HTML:
<input type="button" id="Button1" runat="server" value="Launch Animation" />
Aggiungere quindi alla AnimationExtender pagina , fornendo un ID, l'attributo e l'obbligatorio TargetControlIDrunat="server":
<ajaxToolkit:AnimationExtender ID="ae" runat="server" TargetControlID="Button1" />
Si noti che non è presente alcun <Animations> nodo all'interno del AnimationExtender controllo . Il codice JavaScript personalizzato viene usato per fornire le animazioni da usare con il controllo .
Come per l'API server di AnimationExtender, non esiste ancora un modo semplice per assegnare un'animazione all'extender. Tuttavia, l'extender espone diversi metodi per leggere e scrivere animazioni registrate con i vari eventi (OnClick, OnLoade così via). Di seguito sono riportati alcuni esempi:
get_OnClick()set_OnClick()get_OnLoad()set_OnLoad()...
Il formato del valore restituito delle get_*() funzioni e del formato dell'argomento per le set_*() funzioni è una stringa JSON, fornendo una rappresentazione dell'oggetto del markup XML. Attualmente non esiste alcun modo per passare un oggetto, ma è possibile leggere un oggetto da una determinata animazione (get_OnXXXBehavior() metodi).
Ecco una stringa JSON (senza le virgolette delimitate e formattate in modo corretto) che rappresenta un'animazione attivata dal pulsante, ma animando il pannello ridimensionandolo e dissolvendolo contemporaneamente:
{
"AnimationName":"Sequence",
"AnimationChildren":[
{
"AnimationName":"EnableAction",
"Enabled":"false",
"AnimationChildren":[]
},
{
"AnimationName":"Parallel",
"AnimationChildren":[
{
"AnimationName":"FadeOut",
"Duration":"1.5",
"Fps":"24",
"AnimationTarget":"Panel1",
"AnimationChildren":[]
},
{
"AnimationName":"Resize",
"Width":"1000",
"Height":"150",
"Unit":"px",
"AnimationTarget":"Panel1",
"AnimationChildren":[]
}]
}]
}
Il codice JavaScript seguente assegna questo codice JSON descritto all'animazione dell'extender OnClick corrente ed esegue l'estensione:
<script type="text/javascript">
function pageLoad()
{
var ae = $find("ae");
var animation = '{"AnimationName":"Sequence","AnimationChildren":[{"AnimationName":"EnableAction","Enabled":"false","AnimationChildren":[]},{"AnimationName":"Parallel","AnimationChildren":[{"AnimationName":"FadeOut","Duration":"1.5","Fps":"24","AnimationTarget":"Panel1","AnimationChildren":[]},{"AnimationName":"Resize","Width":"1000","Height":"150","Unit":"px","AnimationTarget":"Panel1","AnimationChildren":[]}]}]}';
ae.set_OnClick(animation);
ae.OnClick();
}
</script>
L'animazione viene eseguita immediatamente, senza un clic del mouse (e con un markup molto piccolo) (Fare clic per visualizzare l'immagine a dimensione intera)