Session丢失问题
首先是页面上的验证码,即使浏览器关闭以后重新打开仍然会出现前一次的验证码。这时候登录的时候那段存储验证码的session语句就会报错。
然后就是主页登录之前主页显示的是
登录之后主页仍然显示的是以上图片。但是刷新页面后又会变成
其他页面都正常。
另外以上问题在本地测试均正确。传服务器后就出现了这些问题。。很纠结。
[解决办法]
每次刷新都会执行Default,从Page_Load事件中看
//绘制验证码文字
graphics.DrawString(CreateCheckCodeString(), font, brush, rect);
感觉 Session["CodeString"]都是保存最新的验证码。
[解决办法]
看你的问题
总感觉你代码没错 就是那几个步骤的先后顺序错了 加个判断调试一下 看下session 的初始赋值和取值
[解决办法]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
function ReloadImg()
{
$get("ValidationImg").src=$get("ValidationImg").src.split('?',1)+"?"+Math.random();
return false ;
}
<img src="Img.aspx" id="ValidationImg" class="InputValidationImage"
title="如看不清,请点击验证码刷新" onclick ="ReloadImg()"
style="cursor:pointer: width: 50px;">
我用了ASP.NET State Service,用下来还没发现问题。AutoEventWireup="true"可能有用的。
[解决办法]
新开页面的Session中是没有验证码的。
这个时候你去访问当然报错哦
[解决办法]
同意楼上的建议。
同时建立楼主通过ajax获取验证码,在用户输入密码之后动态的加载验证码。