验证码的问题,无法取当前的session值 在生成随机数后,设置为Session["RandomNumber"] = 产生的数字然后我在登陆界面取Session["RandomNumber"]的值,取得的只是上一次产生的数字。很疑惑,到底怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不可能哦。 你存在cookie里试试。 具体代码贴出来主要是生成验证码给session赋值 以及验证验证码的代码 这个是存在一个类里面的 string strValidate = ""; string[] source ={ "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; string code = ""; for (int i = 0; i < 4; i++) { code += source[rndNum.Next(0, source.Length)]; } strValidate = code.ToString(); Session["RandomNumber"] =strValidate ;下面是在登陆页: if (!IsPostBack) { yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址 ddd.Text = Session["RandomNumber"].ToString();取session值 } yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址 ddd.Text = Session["RandomNumber"].ToString();取session值 为什么要在这里取验证码值啊,应该是提交后进行比较吧 if (!IsPostBack) { yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址 ddd.Text = Session["RandomNumber"].ToString();取session值 } 首次加载改为 yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址 ddd.Text = Session["RandomNumber"].ToString();取session值 你把yzmimg.ImageUrl = "/fb/RandomNumber.aspx"直接写在html上面,<img src="/fb/RandomNumber.aspx" />然后验证代码写在button的事件里面if (输入的验证码= Session["RandomNumber"].ToString()){ //开始验证具体的用户名,密码} 把你的pageload里面那两句去掉 朋友,我早试过了,一样的!写完代码后把ddd.Text = Session["RandomNumber"].ToString();取session值放在page-load,会提示说”未将对象引用到实例“然后我放到下面的代码后就没事了,之后我再放到page-load里,就正常显示了。 这个只是为了看session值跟验证码是不是一样结果发现老是比验证码慢一拍 GridView单击获得此列的值 sql数据库连接字符串的问题 asp.net 如何写注册码 ◆asp.net 粘贴问题◆ asp.net HTML编辑器,如果不让用户输入JS脚本,应该怎么判断,后台判断好还是前台好?? 请问ASP.NET的书看哪本好? Nunit重IsPostBack问题. 大家看看,该怎么设计数据库? .net就是不行,不服的进来辩辩 工程写完后,删掉了所有垃圾文件,只留下webform1.aspx和webform1.aspx.vb ASP.NET中,在datagrid中显示查询的所有数据 做了个网站,散分了
主要是生成验证码给session赋值 以及验证验证码的代码
string strValidate = "";
string[] source ={ "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
string code = "";
for (int i = 0; i < 4; i++)
{
code += source[rndNum.Next(0, source.Length)];
}
strValidate = code.ToString();
Session["RandomNumber"] =strValidate ;
下面是在登陆页:
if (!IsPostBack)
{
yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址
ddd.Text = Session["RandomNumber"].ToString();取session值
}
ddd.Text = Session["RandomNumber"].ToString();取session值 为什么要在这里取验证码值啊,应该是提交后进行比较吧
if (!IsPostBack)
{
yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址
ddd.Text = Session["RandomNumber"].ToString();取session值
}
首次加载改为
yzmimg.ImageUrl = "/fb/RandomNumber.aspx";//这个是验证码图片地址
ddd.Text = Session["RandomNumber"].ToString();取session值
直接写在html上面,<img src="/fb/RandomNumber.aspx" />然后验证代码写在button的事件里面if (输入的验证码= Session["RandomNumber"].ToString())
{
//开始验证具体的用户名,密码
}
把你的pageload里面那两句去掉
把ddd.Text = Session["RandomNumber"].ToString();取session值
放在page-load,会提示说”未将对象引用到实例“
然后我放到下面的代码后就没事了,之后我再放到page-load里,就正常显示了。
这个只是为了看session值跟验证码是不是一样
结果发现老是比验证码慢一拍