Programmatically caching a User Control. : User Control « Cache « ASP.NET Tutorial






<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
    void Page_Load()
    {
        PartialCachingControl cacheMe = (PartialCachingControl)Page.LoadControl("Control.ascx");

        cacheMe.CachePolicy.SetExpires(DateTime.Now.AddSeconds(15));

        PlaceHolder1.Controls.Add(cacheMe);

        lblCacheDuration.Text = cacheMe.CachePolicy.Duration.ToString();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Show Dynamic User Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    Cache Duration:
    <asp:Label
        id="lblCacheDuration"
        Runat="server" />
    <hr />

    <asp:PlaceHolder
        id="PlaceHolder1"
        Runat="server" />

    </div>
    </form>
</body>
</html>

            
File: Control.ascx

<%@ Control Language="C#" ClassName="Products" %>
<%@ OutputCache Duration="600" VaryByParam="none" %>

User Control Time:
<%= DateTime.Now.ToString("T") %>
<asp:GridView
    id="grdProducts"
    DataSourceID="srcProducts"
    Runat="server" />

<asp:SqlDataSource
    id="srcProducts"
    ConnectionString="<%$ ConnectionStrings:Products %>"
    SelectCommand="SELECT Title,Director FROM Products"
    Runat="server" />








13.15.User Control
13.15.1.Caching with a User Control
13.15.2.Sharing a User Control Output Cache
13.15.3.Creating a User Control Cache File Dependency
13.15.4.Programmatically caching a User Control.