C# MVC中的cookie需要2次页面加载才能注册
我正在创建一个MVC应用程序,其中有一个显示隐藏值和隐藏值的按钮。问题是,在页面上注册cookie更改之前,我需要按两次按钮。任何帮助都将是巨大的,特别是如果你告诉我如何准确地纠正这一点 所以这里发生的事情是,我必须按两次Show Not Active,才能将其更改为Hide Not Active,反之亦然C# MVC中的cookie需要2次页面加载才能注册,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,我正在创建一个MVC应用程序,其中有一个显示隐藏值和隐藏值的按钮。问题是,在页面上注册cookie更改之前,我需要按两次按钮。任何帮助都将是巨大的,特别是如果你告诉我如何准确地纠正这一点 所以这里发生的事情是,我必须按两次Show Not Active,才能将其更改为Hide Not Active,反之亦然 if (Request.Cookies["showHidden"] != null) { ViewBag.Show = Request.Cookies["showHidden"].V
if (Request.Cookies["showHidden"] != null)
{
ViewBag.Show = Request.Cookies["showHidden"].Value;
}
else
{
ViewBag.Show = "false"
}
@if (User.IsInRole("Data Manager"))
{
if (ViewBag.Show != "true")
{
<text>
@Html.ActionLink("Show Not Active", "Details", new
{ show = "true" }, new { @class="btn btn-primary btn-sm" })
</text>
}
else
{
<text>
@Html.ActionLink("Hide Not Active", "Details", new
{ show = "false" }, new { @class="btn btn-primary btn- sm })
</text>
}
无论如何,我知道如何让按钮在每次点击时更改,隐藏/显示在每次点击时更改,但我现在有另一个问题,cookies不会在每次我离开页面时持续,因此我将在另一个线程中发布
public ActionResult Details(int? id, string show)
{
if (show == "true")
{
if (this.Response.Cookies["showHidden"] == null
{
HttpCookie cookie = new HttpCookie("showHidden", "true");
cookie.Expires = new DateTime(DateTime.Now.Year + 1, DateTime.Now.Month, DateTime.Now.Day);
this.Response.Cookies.Add(cookie);
}
else
{
HttpCookie cookie = new HttpCookie("showHidden", "true");
cookie.Expires = new DateTime(DateTime.Now.Year + 1, DateTime.Now.Month, DateTime.Now.Day);
this.Response.SetCookie(cookie);
}
}
if (show == "false")
{
if (this.Response.Cookies["showHidden"] == null
{
HttpCookie cookie = new HttpCookie("showHidden", "false");
cookie.Expires = new DateTime(DateTime.Now.Year + 1, DateTime.Now.Month, DateTime.Now.Day);
this.Response.Cookies.Add(cookie);
}
else
{
HttpCookie cookie = new HttpCookie("showHidden", "false");
cookie.Expires = new DateTime(DateTime.Now.Year + 1, DateTime.Now.Month, DateTime.Now.Day);
this.Response.SetCookie(cookie);
}
}
thing thing = db.thing.Find(id);
if (thing == null)
{
return HttpNotFound();
}
return View(thing);
}