Preferred Language:

Listing 7.1 - RandomImage.ascx

Simple user control that displays a random image.

Listing 7.1 - RandomImage.ascx (C#)
Copy

<%@ Control Language="C#" ClassName="RandomImage" %>
<%@ Import Namespace="System.IO" %>

<script runat="server">

    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);
    }
    
</script>

<asp:Image
    id="imgRandom"
    Width="300px"
    Runat="server" />
<br />    
<asp:Label  
    id="lblRandom"
    Runat="server" />

The following page uses the RandomImage user control.

Listing 7.2 - ShowRandomImage.aspx (C#)
Copy | Try This Code!

<%@ Page Language="C#" %>
<%@ Register TagPrefix="user" TagName="RandomImage" Src="RandomImage.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Show RandomImage</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <user:RandomImage
        ID="RandomImage1"
        Runat="server" />
        
    </div>
    </form>
</body>
</html>