Simple Image Slide Show C# edition

Simple Image Slide Show C# edition

By Hehong Yang(杨贺宏)

In Scott Mitchell’s article, he create a simple image slide show using asp.net with vb.net. Now I rewrite it in C#. I create a sub directory Photos to store the image files. And instead of using DataList control, I used DropDownList control to list all image files. I use it in my personal web site, so you can view a live demo there( http://www17.brinkster.com/flycrane/Album/default.aspx ).

Soure code: Default.aspx

1@ Page Language="C#" 
1@ import Namespace="System.IO" 
 1<script runat="server">
 2
 3// Insert page code here 
 4
 5private void Page_Load(object sender, System.EventArgs e) 
 6
 7{ 
 8
 9//Get list of images 
10
11DirectoryInfo dirInfo= new DirectoryInfo( Server.MapPath("Photos")); 
12
13FileInfo[] images= ImagesFilter( dirInfo.GetFiles() ); 
14
15//Determine the current image to show 
16
17int imageIndex= 0; 
18
19if( Request.QueryString["N"]!=null ) 
20
21imageIndex= Convert.ToInt32( Request.QueryString["N"] ); 
22
23lblTitle.Text+= Path.GetFileNameWithoutExtension( images[imageIndex].Name ) 
24
25+" ("+ (imageIndex+1) +" of "+images.Length+")"; 
26
27currentImage.ImageUrl= "/flycrane/Album/Photos/"+images[imageIndex].Name ; 
28
29if( imageIndex>0 ) 
30
31lnkPrev.NavigateUrl= "Default.aspx?N=" + (imageIndex - 1); 
32
33if( imageIndex<images.Length-1 ) 
34
35lnkNext.NavigateUrl= "Default.aspx?N=" + (imageIndex +1); 
36
37if(! IsPostBack) 
38
39{ 
40
41ddlImages.DataSource= images; 
42
43ddlImages.DataBind(); 
44
45} 
46
47} 
48
49public FileInfo[] ImagesFilter( FileInfo[] files ) 
50
51{ 
52
53ArrayList newImages= new ArrayList( files.Length ); 
54
55for( int i=0;i<files.Length;i++ ) 
56
57{ 
58
59if( Path.GetExtension( files[i].Name.ToLower() )==".jpg" || 
60
61Path.GetExtension( files[i].Name.ToLower() )==".jpeg" || 
62
63Path.GetExtension( files[i].Name.ToLower() )==".png" || 
64
65Path.GetExtension( files[i].Name.ToLower() )==".gif" 
66
67) 
68
69newImages.Add(files[i]); 
70
71} 
72
73return ( FileInfo[] ) newImages.ToArray( files[0].GetType() ); 
74
75} 
76
77void ddlImages_SelectedIndexChanged(object sender, EventArgs e) { 
78
79Response.Redirect( "default.aspx?N="+ (ddlImages.SelectedIndex) ); 
80
81} 
82
83</script>
 1<html>
 2<head>
 3<title>Flycrane's Personal Web Site</title>
 4<link rel="stylesheet" src="/flycrane/Styles/Flycrane.css"/>
 5</head>
 6<body>
 7<form runat="server">
 8<table align="center" border="0" cellpadding="0" cellspacing="0" width="765">
 9<!--DWLayoutTable-->
10<tbody>
11<tr>
12<td align="middle" bgcolor="#9999cc" width="765">
13<asp:label id="lblTitle" runat="server" width="206px">You are viewing: </asp:label></td>
14</tr>
15<tr>
16<td align="middle" width="765">
17<p>
18<asp:image id="currentImage" runat="server"></asp:image>
19</p>
20</td>
21</tr>
22<tr>
23<td align="middle" bgcolor="#9999cc" width="765">
24<asp:hyperlink id="lnkPrev" runat="server">Previous</asp:hyperlink>
25
26 <asp:hyperlink id="lnkNext" runat="server">Next</asp:hyperlink>
27</td>
28</tr>
29<tr>
30<td align="middle" bgcolor="#9999cc" width="765">
31
32Select one photo: 
33
34<asp:dropdownlist autopostback="True" id="ddlImages" onselectedindexchanged="ddlImages_SelectedIndexChanged" runat="server"></asp:dropdownlist>
35</td>
36</tr>
37</tbody>
38</table>
39</form>
40</body>
41</html>

Reference

Scott Mitchell. Creating a Simple Image Slide Show. http://aspnet.4guysfromrolla.com/articles/070704-1.aspx

Published At
Categories with Web编程
Tagged with
comments powered by Disqus