Preferred Language:

Listing 7.12 - RandomQuotation.ascx

Illustrates how to use Ajax with a user control.

Listing 7.12 - RandomQuotation.ascx (C#)
Copy

<%@ Control Language="C#" ClassName="RandomQuotation" %>
<%@ Import Namespace="System.Collections.Generic" %>
<script runat="server">

    void Page_Load()
    {
        List<string> quotes = new List<string>();
        quotes.Add("All paid jobs absorb and degrade the mind -- Aristotle");
        quotes.Add("No evil can happen to a good man, either in life or after death -- Plato");
        quotes.Add("The only good is knowledge and the only evil is ignorance -- Plato");
        Random rnd = new Random();
        lblQuote.Text = quotes[rnd.Next(quotes.Count)];
    }
</script>

<asp:ScriptManager ID="sm1" runat="server" />
<asp:Timer ID="Timer1" Interval="5000" runat="server" />

<asp:UpdatePanel ID="up1" runat="server">
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer1" />
</Triggers>
<ContentTemplate>
    <div class="quote">
    <asp:Label
        id="lblQuote"
        Runat="server" />
    </div>
</ContentTemplate>    
</asp:UpdatePanel>

The following page uses the RandomQuotation user control.

Listing 7.13 - ShowRandomQuotation.aspx (C#)
Copy | Try This Code!

<%@ Page Language="C#" %>
<%@ Register TagPrefix="user" TagName="RandomQuotation" Src="RandomQuotation.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">
    <style type="text/css">
        .quote
        {
            width:200px;
            padding:20px;
            border:Dotted 2px orange;
            background-color:#eeeeee;
            font:16px Georgia,Serif;
        }
    </style>
    <title>Show Random Quotation</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <%= DateTime.Now %>
    <br />
    
    <user:RandomQuotation
        id="RandomQuotation1"
        Runat="server" />
    
    </div>
    </form>
</body>
</html>