【问题标题】:Output cache in content and master page内容和母版页中的输出缓存
【发布时间】:2011-07-04 20:28:39
【问题描述】:

两个问题:

1.如果我有一个内容页和一个母版页,并且我将其放在我的内容页中:

<%@ OutputCache ...%>

它是缓存整个页面还是仅缓存内容页面部分?

2.如何在母版页中应用 OutputChace?

我有一个母版页,其中有很多使用它的内容页。我想在所有这些上应用相同的输出缓存配置文件,但我不想一一更改。

谢谢。

【问题讨论】:

  • 我只想在内容页面级别应用 OutputCache 我怎么能将内容页面定义为仅一部分。我不希望缓存母版页的其余部分,因为更改可能适用于它,而不是内容。

标签: asp.net outputcache


【解决方案1】:

整个页面被缓存。 编辑
您可以使用用户控件来缓存部分。

正如 cmets 所说,如果要缓存所有正在使用特定母版页的页面,则需要在母版页中添加以下代码

 protected void Page_Load(object sender, EventArgs e)
        {
            Response.Cache.SetExpires(DateTime.Now.AddMonths(1));
            Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
            Response.Cache.SetValidUntilExpires(true);
        }

【讨论】:

  • 如果我想在母版页级别应用OutputChace,我该如何完成呢?
  • 我相信您正在处理一些繁重的菜单。您可以将它放在用户控件中并从那里缓存它。母版页中您需要缓存的任何部分都将其放入用户控件(页眉、菜单、页脚、左侧菜单...)。这是最简单的方法。
  • 我有一个母版页,很多内容页面都使用它。我想在所有这些上应用相同的输出缓存配置文件,但我不想一个接一个地更改它们。
  • 编辑您的问题,以便我添加答案,因为我无法在此处发布格式化代码
  • 如果我想在服务器、客户端和代理中缓存呢?
【解决方案2】:

只缓存内容页面;除非该内容页面正在使用母版页,在这种情况下母版页也将被缓存。

与内容页不同,您不能将OutputCache 指令用于母版页。请参阅以下链接

Cache Master Page in ASP.NET

http://www.dotnetperls.com/output-cache

http://forums.asp.net/t/1236981.aspx

【讨论】:

    猜你喜欢
    • 2013-02-12
    • 1970-01-01
    • 2013-02-08
    • 2010-12-24
    • 1970-01-01
    • 2014-02-02
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多