ASP.NET Tutorial/Custom Controls/Ajax

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

AJAX and User Controls

File: Control.ascx
<%@ Control Language="C#" ClassName="RandomQuotation" %>
<%@ Import Namespace="System.Collections.Generic" %>
<script runat="server">
    void Page_Load()
    {
        List<string> quotes = new List<string>();
        quotes.Add("A");
        quotes.Add("B");
        quotes.Add("C");
        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>
            
File: Default.aspx
<%@ Page Language="C#" %>
<%@ Register TagPrefix="user" TagName="RandomQuotation" Src="~/Control.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>
File: Web.Config
<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
        <pages>
            <controls>
                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </controls>
        
        </pages>    
    </system.web>
</configuration>