JQuery - 在回发中保持一个值

时间:2013-07-10 01:17:58

标签: jquery http postback

jQuery的新手......

我在aspx页面上有一个隐藏值:

<asp:HiddenField ID="hiddenLabel1" runat="server" value="hidden value"/>

按下按钮时,我这样做:

$.ajax({
        type: 'POST',
        url: loc + "/GetDate",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        success: function (msg) {
            $("#Label1").text(msg.d);
            $("#hiddenLabel1").val(msg.d);
        }
    });

在我的代码背后,我这样做:

protected void Page_Load(object sender, EventArgs e)
{
      Label1.Text = hiddenLabel1.Value;
}

按下按钮后,GetDate方法返回日期/时间,我在Label1中显示它并尝试将其保存在隐藏字段hiddenLabel1中。我查看源并期望看到msg.d的值作为hiddenLabel1的值。但是,它有其原始价值。

三个问题:1)为什么隐藏字段不显示新值? 2)事实上,在我看来,与在页面后面的C#代码中更改标签的文本并使其在帖子后面保留其新值不同,它是不可能的,如果在jQuery函数中更改了文本? 3)如果为true,我的方法是使用隐藏字段来保留然后加载新值吗?

2 个答案:

答案 0 :(得分:0)

在执行“查看源”时,不会更新vaule,但如果在DOM检查器中检查它(例如IE开发工具),您将看到更新的值

更老式的验证方法是在分配后alert($("#hiddenLabel1").val());进行验证

答案 1 :(得分:0)

$.ajax({
        type: 'POST',
        url: loc + "/GetDate",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        success: function (msg) {
            $("#Label1").text(msg.d);
            $("#hiddenLabel1").val(msg.d);
        }
    });

短版 -

$.post(loc + '/GetDate',{},function(msg) {
            $("#Label1").text(msg.d);
            $("#hiddenLabel1").val(msg.d);
        }, 'json');