我的页里面有这个一行代码生成图片验证码 
<img src="code.asp" style="cursor:pointer" onclick="this.src='code.asp';" alt="看不清?点一下" /> 
调用的另一个文件,验证码的值是用Session("GetCode")保存的,紧接着,我在下面一个hidden里面取session值 
<input type="hidden" id="codevalue" value="<%=CStr(Session("GetCode"))%> "/> 
但是我第一次读取的时候,Session值为空,等我刷新一下页面,得到的却是刷新前验证码的值,请问这是什么原因,怎么解决

解决方案 »

  1.   

    你是在asp.net的页面里读ASP页生成的SESSION?
      

  2.   

    是啊!我写了一个asp.net页面是用来生成严整码的,然后我在另外一个页面上取它的值,它刷新了以后就是上一次的验证码
    后来我把它存到cookie里面了,结果还是那样,感觉它总是慢了一步
      

  3.   

    你应该在pageInit(好象是这样写的吧)事件中,调用这个页面吧,
      

  4.   

    验证码的值是用Session("GetCode")保存的
    ==
    最好用cookie保存
      

  5.   

    value=" <%=CStr(Session("GetCode"))%> "
    外面的要用‘’这个吧
    试试看
      

  6.   

    <img src="code.asp" style="cursor:pointer" onclick="this.src='code.asp';" alt="看不清?点一下" /><input type="hidden" id="codevalue" value=" <%=CStr(Session("GetCode"))%> "/> 以上两段代码是写在同一个文件里面吧设该文件为K.asp
    当第一次调用该文件时,你查看HTML 原代码:value="" 一定为空
    原因在于:第一次加载时Session("GetCode")值为空但是该文件加载完毕后,Session("GetCode")值不为空为什么?
    第一次加载K.asp时没有给Session("GetCode")赋值
    但加载后,<img src="code.asp" 调用了Code.asp 给Session("GetCode")赋了值第二次加载(刷新)就不用我分析了吧,就是value=" <%=CStr(Session("GetCode"))%> " 是在
    <img src="code.asp" 调用了Code.asp 给Session("GetCode")赋了值 之前其实<input type="hidden" id="codevalue" value=" <%=CStr(Session("GetCode"))%> "/> 这个是没有必要的
    当验证验证码 时直接判断用户的输入是否和Session("GetCode")一致就可以了如:
    <input type="text" 
    id="codevalue" value=" <%=CStr(Session("GetCode"))%> "/>
    以上供用户输入 验证码
    if request.form("Codevalue")==Session("GetCode")then
    '验证码正确end if
      

  7.   

    把代码帖出来,你的图片引用页面在每次页面加载时都是随机生成一个验证码的.怎么可能没变化呢.
    =========
    但是我第一次读取的时候,Session值为空,等我刷新一下页面,得到的却是刷新前验证码的值,请问这是什么原因,怎么解决
    ====
    你的session存储位置写错了吧.