如何使用javascript将代码隐藏c#中的字符串传递给本地存储?
我试图将字符串传递给HiddenField和Session缓存,但是我没有成功通过在javascript中检索字符串将其存储在本地存储中。 我在c#中有一个onclick-function来接收一个字符串并将其写入会话缓存。之后我尝试在js中的函数上检索字符串,其中我读取会话缓存并将其写入本地存储。但结果总是空的,除了一些测试,我在页面加载函数中用静态字符串填充会话缓存。
有人怀疑我的解决方案中存在问题吗?
我很感激您的意见。
修改
首先我按下按钮“btn1”将myString写入HF,然后按“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; }
答案 0 :(得分:1)
隐藏字段将起作用。假设网络表单,请使用asp:隐藏字段:
<asp:HiddenField ID="LocalStore" runat="server" ClientIDMode="Static" />
然后,您可以通过以下方式检索它:
document.getElementById("LocalStore").value
或JQuery:
$("#LocalStore").val();