Expiring the Page Output Cache Programmatically : Expiration « Cache « ASP.NET Tutorial






File: Default.aspx

<%@ Page Language="C#" %>
<%@ OutputCache Duration="3600" VaryByParam="none" %>
<!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>Product List</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

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

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

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

    <br /><br />
    <a href="NextPage.aspx">Add Product</a>

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

File: NextPage.aspx

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void dtlProduct_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
    {
        HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/Default.aspx"));
        Response.Redirect("~/Default.aspx");
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Add Product</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h1>Add Product</h1>
    <asp:DetailsView
        id="dtlProduct"
        DefaultMode="Insert"
        DataSourceID="srcProducts"
        AutoGenerateRows="false"
        AutoGenerateInsertButton="true"
        Runat="server" OnItemInserted="dtlProduct_ItemInserted">
        <Fields>
        <asp:BoundField
            DataField="Title"
            HeaderText="Title:" />
        <asp:BoundField
            DataField="Director"
            HeaderText="Director:" />
        </Fields>
    </asp:DetailsView>

    <asp:SqlDataSource
        id="srcProducts"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        InsertCommand="INSERT Products (Title, Director)
            VALUES (@Title, @Director)"
        Runat="server" />

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








13.5.Expiration
13.5.1.Expiring the Page Output Cache Programmatically
13.5.2.Using an Absolute Cache Expiration Policy
13.5.3.Using a Sliding Cache Expiration Policy