7.2 Ajaxとユーザーコントロール


Ajaxとユーザーコントロール
RandomQuotation.ascx

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

    protected void Page_Load(object sender, EventArgs e)
    {
        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:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="5000" />
<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>

ShowRandomQuotation.aspx

<%@ Page Language="C#" %>

<%@ Register TagPrefix="user" TagName="RandomQuotation" Src="~/RandomQuotation.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head 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>

2011-4-29 11:41 danny