我如何實現從代碼隱藏的c#通過使用JavaScript傳遞到本地存儲的字符串?如何將字符串從asp.net代碼傳遞到本地網絡存儲?
我試圖通過HiddenField和Session緩存傳遞字符串,但是我沒有通過檢索JavaScript中的字符串將其存儲在本地存儲中。 我在c#中獲得了一個onclick函數來接收一個字符串並將其寫入會話緩存中。之後,我嘗試通過js中的一個函數檢索字符串,在此處我讀取會話緩存並將其寫入本地存儲中。但結果總是空的,除了一些測試,我用靜態字符串填充頁面加載函數中的會話緩存。
有沒有人懷疑我的解決方案中的問題?
我很感激你的意見。
編輯:
首先我按鈕「BTN1」寫的MyString爲高頻,然後「BTN2」在JS在本地存儲讀取並存儲它。
HTML代碼
<asp:HiddenField ID="hiddenVar" runat="server" ClientIDMode="Static" />
<asp:Button ID="btn1" runat="server" OnClick="writeInHiddenField" />
<asp:Button ID="btn2" runat="server" OnClientClick="writeHfInLS()" />
<script>
function writeHfInLS() { window.localStorage.setItem('key', document.getElementById("hiddenVar").value); }
</script>
代碼C# - 功能背後
writeInHiddenField() { hiddenVar.Value = myString; }
那你試試?你會得到什麼錯誤? – SLaks
我用一些代碼擴展了我的問題。沒有錯誤,但是當我調用JS中的document.getElementById(「hiddenVar」)。值時,顯然將該值設置回初始值。就像網站重新加載或者我在兩個不同的命名空間或類似的工作。 – tvelop
好的,我將UpdatePanel中的asp:Button移出了現在它可以正常工作。 – tvelop