【发布时间】:2015-04-25 06:05:52
【问题描述】:
我通过在按钮单击事件中调用 js 方法(使用 Page.ClientScript.RegisterStartupScript)从后面的代码创建 cookie,一旦创建,我将尝试使用 cookie 值工作我的逻辑,但我无法读取 cookie,直到下一页加载。
C#代码:
protected void submitKey(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", " createCookie('testvalue');", true);
vendorManagementDiv.Style.Add("display", "block");
doLogic();
}
private String doLogic{
var request = HttpContext.Current.Request;
HttpCookieCollection cookies = request.Cookies;
foreach (String cookieName in cookies.AllKeys)
{
if (cookieName.Equals("testcookie"))
{
key = request.Cookies["testcookie"].Value;
}
}
return key;
}
JS函数:
function createCookie(cookievalue)
{
var expires = "";
var date = new Date();
date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000));
expires = ";expires=" + date.toGMTString();
document.cookie = "testcookie=" + cookievalue+ expires + ";path=/";
}
这里的问题是我无法在调用的 doLogic 方法中读取 cookie 'testcookie' 的值。一旦在同一个帖子中创建了 cookie 值,我想读取它。
但只有在下一篇回帖中,doLogic 方法才能获取 cookie 值。
【问题讨论】:
标签: javascript c# cookies webforms