2013-03-21 87 views
0

我在ASP.NET網站中使用Javascript。我也在代碼中使用updatepanel。 我正在使用隱藏字段,它出現在updatepanel中。隱藏的字段值在UpdatePanel更新中丟失/重置

我想使用document.getelementbyID(hiddenfield);

但每次更新updatepanel時,我都會得到相同的值,如何獲取更新後的值。 謝謝。

+1

可能發佈一些代碼或獲得的jsfiddle? – faino 2013-03-21 17:11:20

+0

您是否驗證過隱藏字段在服務器端更新? – 2013-03-21 17:13:33

+0

我的迴應是在這篇文章的最後一句話 - 但我不完全確定寫的文字意味着我認爲他們的意思。發佈代碼並嘗試更多地展開該問題。 – 2013-03-21 17:31:16

回答

0

我的第一個「預感」是服務器沒有在回發中使用新值。 在每次回發中,整個內容的更新後的UpdatePanel被替換爲 - 這包括上述隱藏字段。

檢查Firebug(或等效)中的網絡請求和/或將調試器附加到ASP.NET進程。第一步是準確確定該值何時/何時不符合預期/期望。

各種框架(例如DevExpress,也許是Telerik)都提供了足夠聰明的自定義隱藏字段控件,可以在回發期間保留其數據。這樣的控制對於創建或模擬來說是相對微不足道的。

一個快速的黑客攻擊,跨異步堅持回發的隱藏字段是將它任何的UpdatePanel的..因人而異。

0

您必須使用ClientID property因爲你的控制包含的Runat =「服務器」

0

嘗試以下操作:從你的一部分

window.onload = function() { 
    document.getElementById("myButton").onclick = function() { 
     var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>'); 
     alert(hiddenField.value); 
    } 
} 

這麼少的代碼,並且沒有錯誤就很難說真正正在發生,它可能會有很多錯誤。你必須確保你在頁面加載後使用document.getElementById,等等......

0

你能不能請你發佈你的代碼..如果你已經把你的隱藏字段放在updatepanel裏面,那麼在每個帖子後面都會重新初始化它的值。試着將它更新面板外...

如果希望和所有它關係到它可能解決您的錯誤..