有没有办法使用javascript变量存储会话并显示在另一个页面的标签上?我使用的是ASP.NET WebForms C#。
感谢。
答案 0 :(得分:1)
取决于你的意思" session" - 如在"由____"管理。
如上所述,"会话"可以由服务器进行管理(更安全,特别是如果您想要"完全控制"对于要保留的数据)
但它不是"只有"您可以创建"会话"。如果您的需求可以存在于客户端方面,请参阅WebStorage。
陈述显而易见的客户端,以便用户/客户端可以操纵(通常)操作,就像来自客户端的任何内容一样,永远不要信任(始终验证/检查)。
琐碎的例子(必须改进):
在某些_Layout
页面(或母版页,或您网站的某些Javascript库)中:
var ClientSession = function() {
this.setItem = function(key, value) {
sessionStorage.setItem(key, value);
}
this.getItem = function(key) {
return sessionStorage.getItem(key);
}
}
var mySessionBroker = new ClientSession();
在其他页面中,您为浏览器会话的持续时间设置items
<script>
window.mySessionBroker.setItem("key1", "hello from Index page");
//At this point, you should see that you can store something generated from the server
//and manage it from that point forward in javascript/client like so:
window.mySessionBroker.setItem("key2", "<%=HttpUtility.JavaScriptStringEncode(SomeServerVariable) %>");
</script>
在您网站上的任何其他页面(相同的域/协议)中您要使用/显示的内容等sessionStorage
<p>Session data: <input id="someInput" name="foo" /></p>
<script>
window.onload = function() {
var target = document.getElementById("someInput");
target.value = window.mySessionBroker.getItem("key1");
}
</script>
您可以使用浏览器开发工具检查sessionStorage
和localStorage
(不用说,如上所述,如果你可以,其他人可以 - 因此验证/检查并不将其用于敏感物品)。
H个..