Custom Controls ASP.Net Tutorial

Both the UserControl  class and the Page  class derive  from the base TemplateControl  class. 
Custom control is stored in the file with .ascx extension. 
You cannot request this file directly from a web browser. 
Before using a web User control, you must register it. 
<%@ Register %> directive contains the three attributes:
TagPrefix:    namespace. You can use any string that you want.
TagName:      name that you want to associate with the User control. 
              
Src:          virtual path to the User control (the path to the .ascx file).
File: Control.ascx
<%@ Control Language="C#" ClassName="RandomImage" %>
<%@ Import Namespace="System.IO" %>

    void Page_Load()
    {
        string imageToDisplay = GetRandomImage();
        imgRandom.ImageUrl = Path.Combine("~/Images", imageToDisplay);
        lblRandom.Text = imageToDisplay;
    }
    private string GetRandomImage()
    {
        Random rnd = new Random();
        string[] images = Directory.GetFiles(MapPath("~/Images"), "*.jpg");
        string imageToDisplay = images[rnd.Next(images.Length)];
        return Path.GetFileName(imageToDisplay);
    }

    id="imgRandom"
    Width="300px"
    Runat="server" />

    id="lblRandom"
    Runat="server" />
File: ShowRandomImage.aspx
<%@ Page Language="C#" %>
<%@ Register TagPrefix="user" TagName="RandomImage" Src="~/Control.ascx" %>
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


    Show RandomImage


    
    

            ID="RandomImage1"
        Runat="server" />