我正在尝试使用javascript,但可能有更简单/更好的方法。
我有一个.NET应用程序,它在后面的代码上设置会话变量。我在网站上也有HTML文件,它们是动态创建的并且是静态的,但应该能够访问这些会话(最有可能通过javascript)。意思是,如果没有会话集,我希望HTML页面重定向回主.aspx页面。
使用以下内容,它总是给我一个空字符串,即使在.aspx页面上识别会话,是否有任何方法可以克服这个问题?
<script type="text/javascript">
function doSomething(){
var someSession = '<%= Session("user") %>';
alert(someSession)
}
</script>
答案 0 :(得分:1)
静态html页面不执行任何服务器代码。它们只是按原样提供。
<%= Session("user") %>
根据定义,涉及执行服务器端代码。这就是为什么它适用于aspx页面而不是html。
解决此问题的方法是将html页面转换为aspx页面,或使用Ajax查询回调服务器并从Web服务或其他方法获取会话信息。
答案 1 :(得分:0)
如前所述,它必须是一个活动页面,正确的代码是:
var sessionValue = '<%= Session["user"] %>';