0

すべてのユーザーに対して最初の3回だけ情報を表示する必要があります。このユーザーが次回サイトにアクセスしたときに、この情報は表示されないはずです。私はこの目的のためにクッキーを使用します。

ViewBag.HelpShow = true;

if (this.ControllerContext.HttpContext.Request.Cookies.AllKeys.Contains("ecCount"))
{
  int count = 0;

  if (Int32.TryParse(this.ControllerContext.HttpContext.Request.Cookies["ecCount"].Value, out count))
  {
    if (count >= 3)
      ViewBag.HelpShow = false;
  }

  count++;
  this.ControllerContext.HttpContext.Response.Cookies["ecCount"].Value = count.ToString();
}
else
{
  HttpCookie cCount = new HttpCookie("ecCount", "1");
  cCount.Expires = DateTime.Now.AddYears(10);
  this.ControllerContext.HttpContext.Response.Cookies.Add(cCount);
}

しかし、私は問題に直面しました。問題は、このブラウザが開かれるまで、このCookieがブラウザに保存されることです。ブラウザを閉じて再起動すると、このCookieは削除されます。したがって、問題は、Cookieが常に保存されるようにする方法と、ブラウザを再起動した後のことです。

4

0 に答える 0