从客户端脚本检索.NET会话变量

时间:2012-02-15 16:37:56

标签: javascript .net session

我正在尝试使用javascript,但可能有更简单/更好的方法。

我有一个.NET应用程序,它在后面的代码上设置会话变量。我在网站上也有HTML文件,它们是动态创建的并且是静态的,但应该能够访问这些会话(最有可能通过javascript)。意思是,如果没有会话集,我希望HTML页面重定向回主.aspx页面。

使用以下内容,它总是给我一个空字符串,即使在.aspx页面上识别会话,是否有任何方法可以克服这个问题?

<script type="text/javascript">
    function doSomething(){
        var someSession = '<%= Session("user") %>';
        alert(someSession)
    }
</script>

2 个答案:

答案 0 :(得分:1)

静态html页面不执行任何服务器代码。它们只是按原样提供。

<%= Session("user") %>
根据定义,

涉及执行服务器端代码。这就是为什么它适用于aspx页面而不是html。

解决此问题的方法是将html页面转换为aspx页面,或使用Ajax查询回调服务器并从Web服务或其他方法获取会话信息。

答案 1 :(得分:0)

如前所述,它必须是一个活动页面,正确的代码是:

var sessionValue = '<%= Session["user"] %>';