-2

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/セッションを作成した後、それを別のセッションに渡すにはどうすればよいですか。

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

どうすればこれを達成できるか本当にわかりません。ありがとう

4

1 に答える 1

0

このコードを確認してください。ここでは、次の点をカバーしようとしています:

1.) Javascript を使用して Cookie を作成します。

2.) 別のページのセッションを使用して Cookie 値を読み取ります。

セッションはサーバー側の機能であるため、javascriptでセッションを設定できないことの前に、1つクリアしたいと思います。

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>

Session を使用して Cookie を読み取る 2 番目のページ:

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.
    }
}

まだ何か不足している場合は、これで疑問が解決することを願っています。

于 2013-04-16T10:02:35.617 に答える