ASP.Net Outputcache以编程方式在部分视图中不工作

ASP.Net Outputcache以编程方式在部分视图中不工作,asp.net,outputcache,Asp.net,Outputcache,以下代码在局部视图中不起作用 <% // Pages always expire at midnight. Response.Cache.SetExpires(DateTime.Today.AddHours(24)); if (variable > 0) { Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate); } else { Response.Ca

以下代码在局部视图中不起作用

<%
  // Pages always expire at midnight.
  Response.Cache.SetExpires(DateTime.Today.AddHours(24));

  if (variable > 0)
  {
      Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
  }
  else
  {
      Response.Cache.SetCacheability(HttpCacheability.Public);
  }
%>

谁能告诉我为什么?部分视图从不缓存,也没有明显的原因。我应该编写代码来激活缓存吗?如何操作?

尝试将代码放入控件的codebehind文件Page\u Load或Page\u Init事件中。我怀疑,由于代码内嵌在ascx文件中,因此在控件的生命周期中执行得太晚。

这是ascx文件,我尝试将代码放入页面加载,但没有结果。如果我选择地址栏并按ENTER键,它将使用缓存版本,但我单击指向同一页面的链接或刷新页面,然后服务器将再次呈现页面。此局部视图与任何操作都不关联。我是否应该将局部视图设置为从动作继承,而不是从视图中的对象继承,并在那里设置outputcache?在行动中。。。