如何将字符串从asp.net代码传递到本地Web存储?

时间:2014-07-01 16:09:15

标签: c# javascript asp.net local-storage code-behind

如何使用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; }

1 个答案:

答案 0 :(得分:1)

隐藏字段将起作用。假设网络表单,请使用asp:隐藏字段:

<asp:HiddenField ID="LocalStore" runat="server" ClientIDMode="Static" />

然后,您可以通过以下方式检索它:

document.getElementById("LocalStore").value

或JQuery:

$("#LocalStore").val();