繁体   English   中英

无法读取ASP C#应用程序中动态创建的cookie

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM