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) 

そのため、キャッシュされたページが 1 つだけ作成されます。

他のパラメーターがある場合は、次のように定義できますVaryByParam

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