<asp:ScriptManager ID="ScriptManger1" runat="Server">
</asp:ScriptManager>
<div>
<asp:Timer runat="server" Interval="10000" ID="SlideShowTimer" OnTick="SlideShowTimer_Tick" />
<asp:UpdatePanel runat="server" ID="SlideShow" UpdateMode="Conditional">
<ContentTemplate>
<asp:Image runat="Server" ID="SlideShowImage1" ImageUrl="" Width="100%" Height="150px" />
<asp:AdRotator ID="AdRotator1" runat="Server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="SlideShowTimer" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanelAnimationExtender ID="UPextender" runat="server" TargetControlID="SlideShow"
BehaviorID="animation" >
<Animations>
<OnUpdating>
<%-- It should take 1/2 of a second to fade out --%>
<FadeOut Duration=".5" Fps="20" minimumOpacity=".1" />
</OnUpdating>
<OnUpdated>
<%-- It should take 1 and 1/2 of a second to fade back in --%>
<FadeIn Duration="1.5" Fps="20" minimumOpacity=".1" />
</OnUpdated>
</Animations>
</asp:UpdatePanelAnimationExtender>
</div>
C# code
//import following namespaces
using System.Data;
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AdRotator1.DataSource = FetchAdsFromDB();
AdRotator1.DataBind();
}
}
protected void SlideShowTimer_Tick(object sender, EventArgs e)
{
AdRotator1.DataSource = FetchAdsFromDB();
AdRotator1.DataBind();
}
private DataTable FetchAdsFromDB()
{
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select AlternateText,ImageUrl,NavigateUrl,Impressions from imageadrotator", con);
da.Fill(dt);
return dt;
//ImageUrl must be needed[image location from db]
}
}