Varying the Output Cache by Control : Page Output Cache « Cache « ASP.NET Tutorial






File: MasterDetails.aspx

<%@ Page Language="C#" %>
<%@ OutputCache Duration="3600" VaryByControl="dropCategories" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Master/Details</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <%= DateTime.Now.ToString("T") %>
    <hr />

    <asp:DropDownList
        id="dropCategories"
        DataSourceID="srcCategories"
        DataTextField="Name"
        DataValueField="Id"
        Runat="server" />
    <asp:Button
        id="btnSelect"
        Text="Select"
        Runat="server" />

    <br /><br />

    <asp:GridView
        id="grdProducts"
        DataSourceID="srcProducts"
        GridLines="none"
        Runat="server" />

    <asp:SqlDataSource
        id="srcCategories"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        SelectCommand="SELECT Id,Name FROM ProductCategories"
        Runat="server" />

    <asp:SqlDataSource
        id="srcProducts"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        SelectCommand="SELECT Title,Director FROM Products
            WHERE CategoryId=@CategoryId"
        Runat="server">
        <SelectParameters>
        <asp:ControlParameter
            Name="CategoryId"
            ControlID="dropCategories" />
        </SelectParameters>
    </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>








13.9.Page Output Cache
13.9.1.You enable Page Output Caching by adding an <%@ OutputCache %> directive to a page.
13.9.2.OutputCache Duration="20" VaryByParam="None"
13.9.3.Varying the Output Cache by Parameter
13.9.4.Varying the Output Cache by Control
13.9.5.Varying the Output Cache by Header
13.9.6.Varying the Output Cache by Browser
13.9.7.Varying the Output Cache by a Custom Function
13.9.8.Manipulating the Page Output Cache Programmatically
13.9.9.Creating Page Output Cache Profiles