Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / HTML

Dynamic Slideshow of images using Ajax Toolkit

2.17/5 (3 votes)
5 Sep 2007 1   1.1K  
This article shows how to display images in the form of slideshow dynamically

Introduction

Recently, i have been trying out various things in Ajax Toolkit. I tried out the Slideshow concept and it worked out fine, but that code needs the image paths to be hard coded, so i thought what if i want to dislpay all the files in a particular folder dynamically? I worked on that and got it. I am presenting it here so that it may be useful for someone.

Background

To work with this code you should have Ajax Toolkit installed. This example uses Ajax Toolkit

Using the code

//With in the form beginning & closing tags place the following code


<pre><div> <script runat="server" type="text/VB"> 
<System.Web.Services.WebMethod()> _
<System.Web.Script.Services.ScriptMethod()> _
Public Shared Function GetSlides() As AjaxControlToolkit.Slide()Dim ObjUIPage As New System.web.ui.page
Dim i As Integer = 0
Dim j As Integer 


<pre>//The below line specifies the Directory to be used.Here the images are in images folder of my application 


<pre>Dim DirInfo As New System.IO.DirectoryInfo(ObjUIPage.Server.MapPath("") & "\images")
Dim subDirs As System.IO.DirectoryInfo() = DirInfo.GetDirectories()


<pre>//The below line gets the list of files in the directory specified above 


<pre>Dim Files As System.IO.FileInfo() = DirInfo.GetFiles()


<pre>//The below line gives the file count, which is useful to specify the size of array 


<pre />

<pre>j = Files.Length
Dim mySlides() As Slide = New AjaxControlToolkit.Slide(j) {}
Dim di As System.IO.FileInfo


<pre />

<pre>//This loop continues upto the last file in the directory 


<pre />

<pre>For Each di In Files
mySlides(i) = New AjaxControlToolkit.Slide(di.FullName, di.Name, di.Name.Substring(0,(
di.Name.IndexOf(".")))Next diReturn mySlides 
i = i + 1
Next di


<pre>//this line sends the dynamically added details as AjaxControlToolkit.Slide 


<pre>End Function 
</script> 


<pre><asp:ScriptManager runat="server" ID="SideShow" ></asp:ScriptManager>
<asp:Label runat="Server" ID="imageTitle" CssClass="slideTitle"/><br />
 <asp:Image ID="Image1" runat="server" Height="300" Style="border: 1px 
solid black;width:auto" ImageUrl="images/Blue hills.jpg" 
AlternateText="Blue Hills image" />
 <asp:Label runat="server" ID="imageDescription" CssClass="slideDescription">
</asp:Label><br /><br /> 
<asp:Button runat="Server" ID="prevButton" Text="Prev" Font-Size="Larger" />
 <asp:Button runat="Server" ID="playButton" Text="Play" Font-Size="Larger" />
 <asp:Button runat="Server" ID="nextButton" Text="Next" Font-Size="Larger" />
 <ajaxToolkit:SlideShowExtender ID="SlideShowExtender1" runat="server"
 TargetControlID="Image1" AutoPlay="true" ImageTitleLabelID="imageTitle" 
SlideShowServiceMethod = "GetSlides" 
ImageDescriptionLabelID="imageDescription" NextButtonID="nextButton" 
PlayButtonText="Play" StopButtonText="Stop" PreviousButtonID="prevButton"
 PlayButtonID="playButton" Loop="true" /> </div> 
//

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here