[英]how read cookie value using javascript created in Asp.net C#
[英]Unable to read the cookie created dynamically in ASP C# application
我正在通过在按钮click事件中调用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值。
是不是因为它不是Request.Cookies的一部分而无法阅读testCookie的情况? 换句话说,您在生成请求之后创建了cookie。 在这种情况下,您的新cookie不会不在Request.Cookies列表中,因为那时cookie不存在吗? 我认为这就是正在发生的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.