如我的用户自定义控件添加了页面缓存<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UC_Navigation.ascx.cs" Inherits="UserControl_UC_Navigation" %>
<%@ OutputCache   Duration="600"   VaryByParam="MasterID"%>然后调用这个用户控件的aspx就有<uc7:UC_Navigation ID="UC_Navigation1" runat="server" />1:因为VaryByParam是根据URL的参数进行缓存的,
   但我这里我不想用这种方式,
   我想要通过给Navigation1添加一个属性如public Int32 MasterID,
   然后页面用<uc7:UC_Navigation ID="UC_Navigation1" runat="server" MasterID="1" />
   这种方法根据MasterID的不同而进行缓存,
   这个可以实现吗
2:因为有些缓存的页面,后台进行了更新,而这时前台没有更新,那么我可不可以在程序中查找到现在网站缓存了哪些内容,然后我可以把这些缓存清空呢?
   如我现在我的这个UC_Navigation1缓存了,然后后台就有删除这个缓存的功能;再打开他就重新缓存,也就是让UC_Navigation1的缓存过期谢谢

解决方案 »

  1.   

    想拥有一个非常稳定、速度又快、全自助双线主机吗?
    还在犹豫什么,互通数据是你最好的选择。

    详情请访问:http://www.515dns.com 
    QQ:287895593
      

  2.   

    <%@ OutputCache Duration="30" VaryByParam="None" VaryByCustom="custom" %>
    Global.asax.cs
    public override string GetVaryByCustomString(HttpContext context, string arg)
    {
          if (arg.ToLower () == "custom") 
          {
                if(Session["test"] != null)
                      return Session["test"].ToString();
          }
          return base.GetVaryByCustomString (context, arg);
    }
    参考
    参考
    参考