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

Javascript 从客户端脚本检索.NET会话变量,javascript,.net,session,Javascript,.net,Session,我正在用javascript尝试这一点,但可能有一种更简单/更好的方法 我有一个.NET应用程序,它在代码背后设置一个会话变量。我在网站上也有HTML文件,这些文件是动态创建的,是静态的,但是应该能够访问这些会话(很可能是通过javascript)。也就是说,如果没有会话集,我希望HTML页面重定向回main.aspx页面 对于以下内容,它总是给我一个空字符串,即使会话在.aspx页面上被识别,有什么办法克服这个问题吗 <script type="text/javascript">

我正在用javascript尝试这一点,但可能有一种更简单/更好的方法

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

对于以下内容,它总是给我一个空字符串,即使会话在.aspx页面上被识别,有什么办法克服这个问题吗

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

函数doSomething(){
var someSession='';
警报(会话)
}

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

<%= Session("user") %>

根据定义,这涉及到执行服务器端代码。这就是为什么它在aspx页面而不是html中工作


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

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

<%= Session("user") %>

根据定义,这涉及到执行服务器端代码。这就是为什么它在aspx页面而不是html中工作


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

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

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

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

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

我尝试将代码放在.asp页面中,但仍然得到相同的结果。有什么想法吗?从test.asp:
函数doSomething(){var someSession='';alert(someSession)}
我尝试了你的建议,但@r584说它不起作用!我尝试将代码放在一个.asp页面中,但仍然得到相同的结果。有什么想法吗?从test.asp:
函数doSomething(){var someSession='';alert(someSession)}
我尝试了你的建议,但@r584说它不起作用!您不能从HTML访问变量,您需要通过ASP.NET通过页面或服务访问它们。由于您想在JavaScript中使用它们,您可能会考虑编写一个服务来从服务器中拉取用户会话变量。您不能从HTML访问变量,您需要通过页面或服务通过ASP.NET访问这些变量。由于您想在JavaScript中使用它们,您可能会考虑编写一个服务来从服务器中拉用户会话变量。