0

ASP.NET MVC2 页面用于在浏览器中显示顺序,如 如何从 jqgrid 数据中填充文档标题中所述

在页面加载时,javascript 从浏览器中检索正确的文档并将其绑定到页面元素。

文档 ID 在查询字符串中指定,例如:

www.mysite.com/GetDocument?Id=1
www.mysite.com/GetDocument?Id=2

文档缓存在浏览器中:

[OutputCache(Location = OutputCacheLocation.Downstream, Duration = 20 * 60,VaryByParam = "*")]
public ActionResult Index(int id) 

但是不使用浏览器缓存,因为每个查询字符串都缓存了不同的页面。如何强制浏览器缓存不依赖于查询字符串中 id 参数的页面?还是在 post 参数中传递 id 更好?

4

1 回答 1

0

您必须更改VaryByParam属性。

如果 id 是唯一可能的查询字符串键,那么您可以编写:

[OutputCache(Location = OutputCacheLocation.Downstream, Duration = 20 * 60,VaryByParam = "none")]
public ActionResult Index(int id) 

所以它只会创建一个缓存页面。

如果可能有其他参数,您可以定义它们VaryByParam

[OutputCache(Location = OutputCacheLocation.Downstream, Duration = 20 * 60,VaryByParam = "name;age")]
public ActionResult Index(int id) 
于 2012-10-28T20:52:26.320 回答