| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 625 人关注过本帖
标题:[求助]验证码验证问题
只看楼主 加入收藏
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
 问题点数:0 回复次数:9 
[求助]验证码验证问题
每次刷新页面让1个Label1显示成一个随机数
一个TextBox 输入Label的内容 一个Button验证TextBox的内容是否等于Label的内容
再一个Label2显示验证结果

if(TextBox.Text==Label1.Text)
{
Label1.Visable=fasle;
Label2.Text="正确";

}
else
{
Label2.Text="错误";
}

为什么每次结果都是 Label2显示 "错误" 呢?
搜索更多相关主题的帖子: 验证 
2006-11-25 15:56
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 

if(TextBox.Text.Trim() == Label1.Text.Trim())
{
Label1.Visable = fasle;
Label2.Text="正确";

}
else
{
Label2.Text="错误";
}


飘过~~
2006-11-25 16:01
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
以下是引用bygg在2006-11-25 16:01:39的发言:

if(TextBox.Text.Trim() == Label1.Text.Trim())
{
Label1.Visable = fasle;
Label2.Text="正确";

}
else
{
Label2.Text="错误";
}

还是显示错误
2006-11-25 22:31
编程中国net
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-25
收藏
得分:0 

2楼的代码一般来说是正确的.
不知道你的"随机数"数据类型是不是固定,另外Trim() 这个方法删除的是最后一个有效字符后的空格,而对中间的空格不考虑,例如:Label1.Text是"1空格1"和"11"是不相同的.
最好把你取出随机数的代码,帖出来看看.

2006-11-25 22:55
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
设置断点,看一下这两个值分别是什么?

飘过~~
2006-11-25 22:59
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 

private void Page_Load(object sender, System.EventArgs e)
{
Random ds = new Random();
this.Label1.Text=ds.Next(999,10000).ToString().Trim();
}

private void Button1_Click(object sender, System.EventArgs e)
{

if(this.TextBox1.Text.Trim()=this.Label1.Text.Trim())
{
this.Label2.Text="正确";
this.Label1.Visible=false;
this.sqlDataAdapter1.Fill(dataSet21,"tel");
this.DataGrid1.DataBind();
}
else
{
this.Label2.Text="错误";
}
}

就这段代码 只会有一个结果 Label2.Text只会显示 "错误" 不会显示"正确"

2006-11-25 23:38
HankStar
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2006-10-4
收藏
得分:0 

直接写一个随机生成验证码的函数~

private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
string checkCode = CreateRandomCode(4);
}
}

public string CreateRandomCode(int codeCount)//随即4位验证码
{
string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z";
string[] allCharArray = allChar.Split(',');
string randomCode = "";
int temp = -1;

Random rand = new Random();
for (int i = 0; i < codeCount; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
}
int t = rand.Next(35);
if (temp == t)
{
return CreateRandomCode(codeCount);
}
temp = t;
randomCode += allCharArray[t];
}
return randomCode;
}


2006-11-26 00:01
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 

那验证怎么解决呢

2006-11-26 11:28
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用ccsky在2006-11-25 23:38:03的发言:

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{

Random ds = new Random();
this.Label1.Text = ds.Next(999,10000).ToString().Trim();
}
}

private void Button1_Click(object sender, System.EventArgs e)
{

if(this.TextBox1.Text.Trim() == this.Label1.Text.Trim())
{
this.Label2.Text="正确";
this.Label1.Visible=false;
this.sqlDataAdapter1.Fill(dataSet21,"tel");
this.DataGrid1.DataSource = dataSet2;
this.DataGrid1.DataBind();
}
else
{
this.Label2.Text="错误";
}
}

就这段代码 只会有一个结果 Label2.Text只会显示 "错误" 不会显示"正确"


飘过~~
2006-11-26 14:48
ccsky
Rank: 2
等 级:论坛游民
帖 子:197
专家分:49
注 册:2006-1-10
收藏
得分:0 
以下是引用bygg在2006-11-26 14:48:53的发言:

非常感激!

2006-11-27 16:03
快速回复:[求助]验证码验证问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016919 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved