2013-07-10 33 views
0

新来的jQuery值...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)如果属实,我的方法是使用隐藏字段来保存并加载新值可行吗?

+0

在点击按钮,你看到在控制台输出中的任何错误的浏览器吗?像FF的Firebug一样。 –

+0

为了帮助你#2和3:http://api.jquery.com/data/ – DevlshOne

+0

源不会改变。如果您检查铬或萤火虫中的元素,您可能会看到反映的变化。 –

回答

0

在做“查看源文件”的vaule将不会被更新,但如果你在一个DOM督察检查它(如IE开发工具),你会看到更新后的值

验证它的一个更老派的方式是做alert($("#hiddenLabel1").val());权已分配

+0

是的,确实如此。谢谢(你的)信息。 – Scott

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'); 
+0

只是向你展示这个缩写版本,因为你说你是jQuery的新手。 – DevlshOne

+0

谢谢。我刚刚在Visual Studio中将我的js文件修改为短版本,但在再次运行时,旧版本仍然被使用!? – Scott