在asp.net(vb.net)中,我有一个包含HashTable的Session变量
Dim products As Hashtable = New Hashtable
products("example") = "One product"
Session("products") = products
现在我想在客户端获取javascript,产品的价值("示例")。
我试试这个:
<SCRIPT>
function ShowSessionValue() {
// new object
var sessionHashT = {};
// asign HashTable stored in Session("products") to "sessionHashT"
sessionHashT= '<%=Session("products")%>';
// All alerts show "undefined" (but no errors):
alert(sessionHashT("example"));
alert(sessionHashT(example));
alert(sessionHashT.example);
};
</SCRIPT>
使用断点我看到sessionHashT的值是:
sessionHashT = 'System.Collections.Hashtable';
如何使用javascript获取HashTable的值?
答案 0 :(得分:0)
未经测试,但您可以将HashTable
序列化为JSON以包含在您的脚本中:
// assign HashTable stored in Session("products") to "sessionHashT"
sessionHashT= JSON.parse('<%= New JavaScriptSerializer().Serialize(Session("products"))%>');
我想你可以不解析它(请注意缺少引号):
// assign HashTable stored in Session("products") to "sessionHashT"
sessionHashT= <%= New JavaScriptSerializer().Serialize(Session("products"))%>;
然后,您应该可以使用虚线表格按键访问项目:
alert(sessionHashT.example);