Introduction
Ajax (Asynchronous
JavaScript and XML) is a new web development technique used for interactive
websites. AJAX can help to develop web applications and retrieve small amounts of
data from a web server. AJAX is a different type of technology.
- JavaScript
- XML
- Asynchronous Call to the server
UpdatePanelAnimationExtender Control
The
UpdatePanelAnimationExtender is a simple extender that allows you to
utilize the powerful animation framework with existing pages in an easy,
declarative fashion. It is used to play animations both while an
UpdatePanel is updating and after it has
finished updating. The UpdatePanel
architecture and OnUpdating animation
will always play when any partial postback starts, but the
OnUpdated animation will only play at the end
of a partial postback if its UpdatePanel was
changed.
Step 1 : Open Visual Studio 2010.
- Go to File->New->WebSite
- Select ASP.NET Empty WebSite
Step 2 : Go to Solution Explorer and
right-click.
- Select Add->New Item
- Select WebForm
- Default.aspx page open
Step 3 : Go to Default.aspx page and
click on the [Design] option and drag control from Toolbox.
- Drag ScriptManager control,
UpdatePanel control, Label, Button, Checkbox
Define Trigger for UpdatePanel :
Step 4 : Go to Default.aspx [Design]
option and click on the UpdatePanel.
- Select Properties option
- Click on Trigger and define ControlIDand
Event Name
Step 5 : Write a code for UpdatePanel
control and define AsyncPostBackTrigger.
Code :
<asp:UpdatePanel
ID="update"
runat="server">
<ContentTemplate>
<div
id="background"
style="text-align:
center; vertical-align:
middle; line-height:
44px; padding:
12px; height:
44px; color:
#FFFFFF;">
<asp:Label
ID="lblUpdate"
runat="server"
Style="padding:
5px; font-size:
14px; font-weight:
bold;">
4/28/1906 12:00:00 AM
</asp:Label>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="btnUpdate"
EventName="Click"
/>
</Triggers>
</asp:UpdatePanel>
Define
UpdatePanelAnimation Extender
Step 6 : Go to Toolbox and drag
UpdatePanelAnimation Extender Control.UpdatePanelAnimation Extender set the
target controls to the respective Labels and Buttons. We also provide the markup
page so you can reference the Target controls and properties.
Step 7 : Go to the Default.aspx
page [Source] option and write a code for UpdatePanelAnimation Extender.
Code :
<asp:UpdatePanelAnimationExtender
ID="upae"
BehaviorID="animation"
runat="server"
TargetControlID="update">
<Animations>
<OnUpdating>
<Sequence>
<%--
Store the original height of the panel --%>
<ScriptAction
Script="var b = $find('animation');
b._originalHeight = b._element.offsetHeight;" />
<%--
Disable all the controls --%>
Enable all the controls :
Step 8 : Now we define the Enable all the controls for the parallel duration
of UpdatePanelAnimation Extender.
<%--
Enable all the controls --%>
<Parallel
duration="0">
<EnableAction
AnimationTarget="effect_fade"
Enabled="true"
/>
<EnableAction
AnimationTarget="effect_collapse"
Enabled="true"
/>
<EnableAction
AnimationTarget="effect_color"
Enabled="true"
/>
<EnableAction
AnimationTarget="btnUpdate"
Enabled="true"/>
</Parallel>
Step 9 :
Go to Default.aspx page option and write a
code.
Code :
<head
runat="server">
<title
dir="ltr"
lang="afa">MY
AJAX APPLICATION</title>
</head>
<body
style="background-color:
#E81775" alink="#ccccff"
bgcolor="#99ccff">
<form
id="form1"
runat="server"
style="background-color:
#97603E">
<asp:ScriptManager
ID="ScriptManager1"
runat="server">
</asp:ScriptManager>
<b
style="background-color:
#99FFCC"> UpdatePanelAnimation Demonstration</b><br
/><br
/>
<div
style="margin-bottom:
10px;" >
<div
style="border:
dashed 1px #222222; width:400px;">
<div
id="up_container"
style="background-color:
#40669A;">
<asp:UpdatePanel
ID="update"
runat="server">
<ContentTemplate>
<div
id="background"
style="text-align:
center; vertical-align:
middle; line-height:
44px; padding:
12px; height:
44px; color:
#FFFFFF;">
<asp:Label
ID="lblUpdate"
runat="server"
Style="padding:
5px; font-size:
14px; font-weight:
bold;">
4/28/1906 12:00:00 AM
</asp:Label>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger
ControlID="btnUpdate"
EventName="Click"
/>
</Triggers>
</asp:UpdatePanel>
</div>
</div>
</div>
Choose the effects, then press 'Update':<br
/>
<input
type="checkbox"
id="effect_fade"
checked="checked"
/><label
for="effect_fade">Fade</label><br
/>
<input
type="checkbox"
id="effect_collapse"
checked="checked"
/><label
for="effect_collapse">Collapse</label><br
/>
<input
type="checkbox"
id="effect_color"
checked="checked"
/><label
for="effect_color">Color
Background</label><br
/>
<asp:Button
ID="btnUpdate"
runat="server"
Text="Update"
OnClick="btnUpdate_Click"
/>
<asp:UpdatePanelAnimationExtender
ID="upae"
BehaviorID="animation"
runat="server"
TargetControlID="update">
<Animations>
<OnUpdating>
<Sequence>
<%--
Store the original height of the panel --%>
<ScriptAction
Script="var b = $find('animation');
b._originalHeight = b._element.offsetHeight;" />
<%--
Disable all the controls --%>
<Parallel
duration="0">
<EnableAction
AnimationTarget="btnUpdate"
Enabled="false"
/>
<EnableAction
AnimationTarget="effect_color"
Enabled="false"
/>
<EnableAction
AnimationTarget="effect_collapse"
Enabled="false"
/>
<EnableAction
AnimationTarget="effect_fade"
Enabled="false"
/>
</Parallel>
<StyleAction
Attribute="overflow"
Value="hidden"
/>
<%--
Do each of the selected effects --%>
<Parallel
duration=".25"
Fps="30">
<Condition
ConditionScript="$get('effect_fade').checked">
<FadeOut
AnimationTarget="up_container"
minimumOpacity=".2"
/>
</Condition>
<Condition
ConditionScript="$get('effect_collapse').checked">
<Resize
Height="0"
/>
</Condition>
<Condition
ConditionScript="$get('effect_color').checked">
<Color
AnimationTarget="up_container"
PropertyKey="backgroundColor"
EndValue="#FF0000"
StartValue="#40669A"
/>
</Condition>
</Parallel>
</Sequence>
</OnUpdating>
<OnUpdated>
<Sequence>
<%--
Do each of the selected effects --%>
<Parallel
duration=".25"
Fps="30">
<Condition
ConditionScript="$get('effect_fade').checked">
<FadeIn
AnimationTarget="up_container"
minimumOpacity=".2"
/>
</Condition>
<Condition
ConditionScript="$get('effect_collapse').checked">
<%--
Get the stored height --%>
<Resize
HeightScript="$find('animation')._originalHeight"
/>
</Condition>
<Condition
ConditionScript="$get('effect_color').checked">
<Color
AnimationTarget="up_container"
PropertyKey="backgroundColor"
StartValue="#FF0000"
EndValue="#40669A"
/>
</Condition>
</Parallel>
<%--
Enable all the controls --%>
<Parallel
duration="0">
<EnableAction
AnimationTarget="effect_collapse"
Enabled="true"
/>
<EnableAction
AnimationTarget="effect_color"
Enabled="true"
/>
<EnableAction
AnimationTarget="btnUpdate"
Enabled="true"
/>
</Parallel>
</Sequence>
</OnUpdated>
</Animations>
</asp:UpdatePanelAnimationExtender>
</form>
Step 10 : Go to
Default.aspx.cs page and write a code.
Code :
using System;
using
System.Collections.Generic;
using
System.Linq;
using System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
public
partial class
_Default : System.Web.UI.Page
{
protected void
Page_Load(object sender,
EventArgs e)
{
}
protected void
btnUpdate_Click(object sender,
EventArgs e)
{
System.Threading.Thread.Sleep(2000);
lblUpdate.Text = DateTime.Now.ToString();
}
}
Step 11 :
Now run the application by Pressing F5.
Step 12 : Now select the color
Background combobox option and click on the update button.
output :
select the fade combobox option and click on the update button.
Select the Collapse combobox option and click on the update button.