OutputCache directive causes the contents of the User Control to be cached in memory for a maximum of 10 minutes (600 seconds). 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" /> File: ShowUserControlCache.aspx <%@ Page Language="C#" %> <%@ Register TagPrefix="user" TagName="Products" 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"> <title>Show User Control Cache</title> </head> <body> <form id="form1" runat="server"> <div> Page Time: <%= DateTime.Now.ToString("T") %> <hr /> <user:Products id="Products1" Runat="server" /> </div> </form> </body> </html>