为什么第一次取的Session值是空的呢?
有二个页面
每一个页面:Img.aspx
专门用来输出验证码的,并且我将验证码的字符存入Session中,在前台调用,并进行判断
string code = dp.recheckCode(); ---取随机码的方法
this.Session["CheckCode"] = code; --将随机码赋给Session,以便在前台,进行判断
dp.getJpg(code,this.Context); --输出验证图片
第二个页面:
function aa()
{
var u = '<%=Session[ "CheckCode"]%> ';
alert(u);
}
第一次调用函数,取得值为null,第二次才会是正确的
???????
------解决方案--------------------你的aa() 在哪里调用的? 如果一开始就执行 可能session就是null 因为脚本先执行 然后才会加载页面上剩下的东西 包括session和HTML代码
------解决方案--------------------在application里先配置.Session["CheckCode"] =""再看看执行顺序
------解决方案--------------------
------解决方案--------------------问题在于 function aa()
{
var u = ' <%=Session[ "CheckCode"]%> ';
alert(u);
}
和img.aspx的执行顺序上吧
img.aspx被访问才能生成一个Session[ "CheckCode"],这个时候再取值alert(u)才是想要的。但页面解析时
img.aspx还没有被这次加载访问,所以<%=Session[ "CheckCode"]%>还是上一次的值,第一次的话那就是null了,用这个方法给js变量赋值我觉得是肯定不能成功的,除非能把img.aspx的加载确定一定以及肯定的放在<%=Session[ "CheckCode"]%> 的解析前面运行