此问题通常是因为在读取 Cookie 值时,读取了先前指定的值而不是当前的值。解决此问题的一种可能方法是将 Cookie 的读取放在视图内部。
以下是示例代码:
在控制器中设置 Cookie 的值:
public IActionResult SetCookie()
{
string cookieValue = "Cookie Value";
CookieOptions option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(10);
Response.Cookies.Append("MyCookie", cookieValue, option);
return RedirectToAction("Index", "Home");
}
在视图中读取 Cookie 的值:
@using Microsoft.AspNetCore.Http
@{
string cookieValue = HttpContext.Request.Cookies["MyCookie"];
}
Cookie Value: @cookieValue
请注意,上述代码将在视图内部读取 Cookie,并直接在视图中显示 Cookie 的值。如此一来,即使值发生了更改,也将在下一次请求视图时立即显示新值。