ASP.NET MVC2页面用于在浏览器中显示顺序,如中所述 How to fill document header from jqgrid data
在页面加载时,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)
但是不使用浏览器缓存,因为为每个查询字符串缓存了不同的页面。如何强制borwser缓存不依赖于查询字符串中的id参数的页面? 或者在post参数中传递id是否更好?
答案 0 :(得分: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)