在javascript上使用cookie / session存储值

时间:2013-04-16 09:03:53

标签: javascript

如何使用javascript

将隐藏字段中的值存储到cookie /会话中
function SelectedRowsHidden() {
                var hiddenField = $("#<%= SelectedRowsState.ClientID %>");
                var selectedValues = "";

                for (var row in selectedRows) {
                    if (selectedRows[row])
                        selectedValues = selectedValues + row;
                }
                //hiddenField.val(selectedValues); //selectedvalues must be stored on cookie or session
                //codes for cookies / session
            }

创建cookie / session后,我将如何将其传递给另一个会话。

function restoreSelectedRows(){
                //var getRowState = document.getElementById('<%= SelectedRowsState.ClientID %>').innerHTML;
                var getRowState = $("#SelectedRowsState").val(); // gives me undefined value
                $("#jqGrid").jqGrid('setSelection', getRowState, true);
                //code here
            }

我真的不知道我将如何实现这一目标。感谢

1 个答案:

答案 0 :(得分:0)

请检查此代码。在此我尝试涵盖以下几点:

1.)使用Javascript创建cookie。

2.)使用另一页上的会话读取Cookie值。

我想在此之前清除一件事,你无法在javascript中设置会话,因为会话是服务器端功能。

使用javascript编写Cookie的第一页:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
    function writeCookie() {
        var exdays = null;//Specify how much days you want cookie age
        var value = document.getElementById('HiddenField1').value;
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
        document.cookie = "TestCookie=" + c_value;//Cookie name with value

    }
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
    <asp:Button ID="Button1" runat="server" Text="Click" 
        OnClientClick="writeCookie();"/>
    <asp:HiddenField ID="HiddenField1" runat="server" Value="HiddenFieldValue" />
</div>
</form>

使用会话阅读Cookie的第二页:

ASPX文件:

<html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
   <title></title>
 </head>
 <body>
<form id="form1" runat="server">
<div>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
 </html>

CS档案:

protected void Page_Load(object sender, EventArgs e)
{
    HttpCookie aCookie = Request.Cookies["TestCookie"];
    if (aCookie != null)
    {
        Label1.Text = aCookie.Value;
        session["hiddenvalue"] = aCookie.Value;
    }
    else
    {
        //Cookie not set.
    }
}

希望这可以解决你的疑虑,如果还有什么遗失,请告诉我。