有二个页面
每一个页面: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,第二次才会是正确的
???????
每一个页面: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,第二次才会是正确的
???????
http://www.chxwei.com/article.asp?id=580
<asp:Image ID="Image1" runat="server" ImageUrl="ValidateImage.aspx" />
(ValidateImage.aspx生成验证码图片)然后在后台判断:
if (tbVCode.Text.Trim() != Session["ValidateCodeValue"].ToString())
{
lblMsg.Text = "验证码错误!";
....
{
var u = ' <%=Session[ "CheckCode"]%> ';
alert(u);
}
和img.aspx的执行顺序上吧
img.aspx被访问才能生成一个Session[ "CheckCode"],这个时候再取值alert(u)才是想要的。但页面解析时
img.aspx还没有被这次加载访问,所以<%=Session[ "CheckCode"]%>还是上一次的值,第一次的话那就是null了,用这个方法给js变量赋值我觉得是肯定不能成功的,除非能把img.aspx的加载确定一定以及肯定的放在<%=Session[ "CheckCode"]%> 的解析前面运行
我也遇到了类似的问题,哎,连自己都不说清楚,我经过了一下webseal就不行了,不经过他可以