2013-07-10 34 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