jquery .data不按照我的理解行事

时间:2013-07-10 20:04:50

标签: jquery

我在jQuery函数中有以下语句,该函数在按下按钮时执行。它按预期运行,因为我立即在警报中显示“dateAndTime”的值:

$("#Button1").click(function (evt) { // automatically bind the click event
    evt.preventDefault();
    var loc = window.location.href;
    $.ajax({
        type: 'POST',
        url: loc + "/GetDate",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        success: function (msg) {
            $("#Label1").text(msg.d);
            $("#Label1").data("dateAndTime", msg.d);

            alert("the date and time is " + $("#Label1").data("dateAndTime"));
        }
    });
});

按钮,来自aspx:

<asp:Button ID="Button3" runat="server" Text="Button" OnClick="Button3_Click" />

Button3_Click是一个空方法。

据我了解,只要浏览器窗口保持打开状态,此值就可用。在调用的函数完成并加载页面后,我按下一个导致回发的按钮。我在同一个.js文件中的“ready”函数中有以下语句:

alert("the new date and time is " + $("#Label1").data("dateAndTime"));

我希望显示最初保存的值,但我会得到“未定义”。我应该得到我期望的,还是我不理解.data?

1 个答案:

答案 0 :(得分:2)

执行postpack后,页面将刷新,所有数据都将丢失。你得到一个全新的文件。

我建议你将数据保存在cookie或sessionstorage中。