在Jquery代码中捕获Session变量

时间:2010-11-30 23:51:26

标签: asp.net jquery session webforms

我使用asp.net(webforms flavor)进行服务器编码。假设我在Session对象中存储了一个名为“test”的变量。

有没有办法在javascript js文件中获取其内容(我使用Jquery)。目前,我使用以下解决方法 - 在我的aspx.cs文件中填充隐藏字段,然后在Jquery中我抓取该字段的内容。

这样做的正确方法是什么?

我尝试通过Web方法公开会话并使用$ ajax函数获取Jquery端的值,但是我收到安全错误 - “权限被拒绝” - 没有提供其他解释。

我的解决方法很好,但对我来说似乎相当笨重。在Jquery中实现会话访问的常用方法是什么?

2 个答案:

答案 0 :(得分:1)

你可以use jQuery to call a web method。确保使用[WebMethod(true)] attribute overload装饰您的方法,以使会话状态可用。

答案 1 :(得分:0)

由于会话驻留在服务器上,JQuery(在客户端上)实际上无法“直接”访问它。如果您希望页面知道会话变量的值,那么最好的做法通常是将值包含在动态生成的页面部分上,就像使用隐藏字段一样。您还可以在.aspx文件中生成javascript,如下所示:

<script type="text/javascript">
    currentSessionName = '<%=Session["CurrentPersonName"].Replace("'", "\\'")%>';
</script>