Mega Code Archive

 
Categories / ASP.Net Tutorial / Custom Controls
 

Item Rotator

File: ItemRotator.cs using System; using System.Collections; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; namespace myControls {     [ParseChildren(true, "Items")]     public class ItemRotator : CompositeControl     {         private ArrayList _items = new ArrayList();         [Browsable(false)]         public ArrayList Items         {             get { return _items; }         }         protected override void CreateChildControls()         {             Random rnd = new Random();             int index = rnd.Next(_items.Count);             Control item = (Control)_items[index];             this.Controls.Add(item);         }     }     public class Item : Control     {     } } File: Default.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 ItemRotator</title> </head> <body>     <form id="form1" runat="server">     <div>     <custom:ItemRotator         id="ItemRotator1"         Runat="server">         <custom:item ID="Item1" runat="server">             First Item         </custom:item>         <custom:item ID="Item2" runat="server">             Second Item             <asp:Calendar                 id="Calendar1"                 Runat="server" />         </custom:item>         <custom:item ID="Item3" runat="server">             Third Item         </custom:item>     </custom:ItemRotator>     </div>     </form> </body> </html>