gpt4 book ai didi

c# - MVC 2 - Cookies 不保存

转载 作者:行者123 更新时间:2023-11-30 22:41:24 25 4
gpt4 key购买 nike

我有一个简单的应用程序,我试图在我的 cookie 中保存一个值,但它没有保存。下面是代码,我不知道问题出在哪里。

以下代码来自 Controller :

public ActionResult Index()
{
string cookieValue = "";

if (Request.Cookies["my_cookie"] != null)
{
cookieValue = Request.Cookies["my_cookie"].Value;
}

if (! string.IsNullOrEmpty(cookieValue ))
{
ViewData["ck"] = cookieValue;
}
else { ViewData["ck"] = "no cookie value"; }

return View();
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveCookieData(FormCollection formValue)
{
HttpCookie myCookie = new HttpCookie("my_cookie", formValue["cookieTXT"].ToString());

Response.Cookies.Add(myCookie);
}

此代码来自 View :

<% using (Html.BeginForm("SaveCookieData", "Home", FormMethod.Post)) { %>
<textarea id="cookieTXT" rows="2" cols="20" runat="server" />
<input id="submitBTN" type="submit" value="Done" runat="server" />
<% } %>

<% if (ViewData["ck"] != null) { %>
<p>Hello Cookie: <%= ViewData["ck"]%></p>
<% } %>

看起来我的表单提交的 cookieTXT 数据是空的,因为 formValue["cookieTXT"] 的值是空的。我不明白为什么?

感谢您的帮助。

最佳答案

首先:尝试使用

Response.SetCookie(myCookie);

第二个:您是否尝试查看保存在浏览器中的 cookie?我使用 Google Chrome 查看浏览器正在读取的 cookie。您还可以使用 fiddler 查看响应中的 Set-Cookie: 以查看它是否正确响应。此外,确保设置 cookie 的域与读取 cookie 的域相匹配。

例。域 = domain.com

您的站点必须在 URL 中包含 domain.com 才能读取 cookie。

关于c# - MVC 2 - Cookies 不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com