0

Asp.NetのWebフォームがあり、JavaScriptでページを更新した回数をカウントします。

4

5 に答える 5

2

これをユーザーごとにカウントしますか? または全体のアプリケーションですか?

アプリケーション全体に対して実行している場合は、ページ要求ごとに Global.asax でアプリケーション変数を使用できます。ただし、アプリケーションがリサイクルすると、それが失われる可能性があります。

ユーザーごとに行いたい場合は、サーバー側のセッションまたはクライアント側の Cookie を使用できます。

于 2012-09-04T14:14:25.233 に答える
2

クライアント側で実行したい場合は、イベントが発生するlocalstorageたび に情報を保存(および取得)するだけですload

于 2012-09-04T14:17:43.140 に答える
1

js または asp を使用してCookieに値を設定するか、セッション値 (単一ユーザーの場合) またはアプリケーション値 (すべてのユーザーの場合) に値を設定できますが、javascript は必要ありません。

このコード サーバー側をページの読み込み時に配置する必要があります。

すべてのユーザーの場合:

Application["refresh_count"] =
 Convert.ToInt64(HttpContext.Current.Application["refresh_count"]) + 1;

セッションを持つ単一ユーザーの場合:

Session["refresh_count"] = Convert.ToInt64(Session["refresh_count"]) + 1;

また

Response.Cookies["UserSettings"]["refresh_count"] = Convert.ToInt64(Response.Cookies["UserSettings"]["refresh_count"]) + 1;
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
于 2012-09-04T14:27:00.263 に答える
0

これをセッションオブジェクトに保存できます。

于 2012-09-04T14:14:38.277 に答える
0

準備されたアドレスを呼び出すjQueryを使用できます。例えば:

$.ajax({
  url: ".../countPageRefreshes.aspx",
  data: { page: "thisPageAddress" }
})

次に、countPageRefreshes で回数を増やすことができ、ページが更新され、どこかに保存されます。

于 2012-09-04T14:18:04.607 に答える