すべてのユーザーに対して最初の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が常に保存されるようにする方法と、ブラウザを再起動した後のことです。