Mega Code Archive

 
Categories / ASP.Net Tutorial / Custom Controls
 

Image Rotator

File: ImageRotator.cs using System; using System.Collections; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; namespace myControls {     [ParseChildren(true, "ImageItems")]     public class ImageRotator : WebControl     {         private ArrayList _imageItems = new ArrayList();         public ArrayList ImageItems         {             get             {                 return _imageItems;             }         }         protected override void RenderContents(HtmlTextWriter writer)         {             if (_imageItems.Count > 0)             {                 Random rnd = new Random();                 ImageItem img = (ImageItem)_imageItems[rnd.Next (_imageItems.Count)];                 writer.AddAttribute(HtmlTextWriterAttribute.Src, img.ImageUrl);                 writer.AddAttribute(HtmlTextWriterAttribute.Alt, img.AlternateText);                 writer.RenderBeginTag(HtmlTextWriterTag.Img);                 writer.RenderEndTag();             }         }     }     public class ImageItem     {         private string _imageUrl;         private string _alternateText;         public string ImageUrl         {             get { return _imageUrl; }             set { _imageUrl = value; }         }         public string AlternateText         {             get { return _alternateText; }             set { _alternateText = value; }         }     } }              File: ShowImageRotator.aspx <%@ Page Language="C#" Trace="true" %> <%@ Register TagPrefix="custom" Namespace="myControls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Show ImageRotator</title> </head> <body>     <form id="form1" runat="server">     <div>     <custom:ImageRotator         id="ImageRotator1"         Runat="server">         <custom:ImageItem ImageUrl="Image1.gif" AlternateText="Image 1" />         <custom:ImageItem ImageUrl="Image2.gif" AlternateText="Image 2" />         <custom:ImageItem ImageUrl="Image3.gif" AlternateText="Image 3" />     </custom:ImageRotator>     </div>     </form> </body> </html>