我已經看過堆棧溢出的類似問題,但一直未能找到解決此特定問題的方法。我有一個簡單的(不是真的,但讓我們假裝)帶有更新面板的ASP.NET頁面。ASP.NET:在提交前修改HiddenField的值
在此更新面板中,有一個HiddenField
控件,其值將通過我自己的自定義JavaScript進行設置/更新。值是更新,因爲我可以在使用Firebug的DOM中看到。
在此HiddenField
旁邊有一個LinkButton
,它調用JavaScript以使用OnClientClick
(此作品)修改HiddenField
的值。 LinkButton
也有一個OnClick
處理程序,該值在修改後執行。
但是,在OnClick
處理程序中,我得到HiddenField
的初始值,而不是由JavaScript設置的值!
這是爲什麼?這是「PEBKAC」的情況嗎?
編輯:嘗試與TextBox
沒有任何成功相同的事情。也嘗試在提交表單之前使用Firebug手動修改值,但沒有成功。
編輯2:我只是意識到Page_Load
是OnClick
處理程序,這是搞亂的東西之前調用。我不會刪除這個問題,因爲其他人可能會遇到同樣的問題,並且可能會發現這個問題很有價值。
也許一些代碼可能會幫助我們得到這個問題的底部。我已經完成了一些測試,並且可以使用'OnClientClick'設置隱藏字段的值,然後在服務器上的'OnClick'事件處理程序中檢索它。 – Phaedrus
我發現我的代碼存在問題,並更新了問題以表明這一點。 –