Custom Controls ASP.Net Tutorial

File: ContentRotator.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace myControls
{
    [ParseChildren(false)]
    public class ContentRotator : WebControl
    {
        protected override void AddParsedSubObject(object obj)
        {
            if (obj is Content)
                base.AddParsedSubObject(obj);
        }
        protected override void RenderContents(HtmlTextWriter writer)
        {
            Random rnd = new Random();
            int index = rnd.Next(this.Controls.Count);
            this.Controls[index].RenderControl(writer);
        }
    }
    public class Content : Control
    {
    }
}
            
File: Default.aspx
<%@ Page Language="C#" %>
<%@ Register TagPrefix="custom" Namespace="myControls" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    Show ContentRotator


    
    

            id="ContentRotator1"
        Runat="server">
                    id="Content1"
            Runat="server">
            First Content Item
        
                    id="Content2"
            Runat="server">
            Second Content Item
                            id="Calendar1"
                Runat="server" />
        
                    id="Content3"
            Runat="server">
            Third Content Item