簡體   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