0

我在 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 文件中的“就绪”函数中有以下语句:

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

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

4

1 回答 1

2

一旦你做了一个 postpack,页面就会刷新,所有数据都会丢失。你得到一个全新的文件。

我建议您将数据保存在 cookie 或会话存储中。

于 2013-07-10T20:12:14.803 回答