该页面添加三个TextBox控件,两个Button控件,三个验证控件,一个Label控件和一个Image控件(用来设计验证码),它们的名称分别为UserName,Password,Validator,LoginBtn,CancelBtn,RFVUserName,RFVPassword,rfv,Message和ValidateImage。
private static string sValidator="";
private StringBuilder LetterList=new StringBuilder();
private readonly string sValidatorImageUrl="ValidateImage.aspx?Validator=";
Page_Load(objectsender,EventArgse)
{
if(!Page.IsPostBack)
{
sValidator=CreateValidateString(6); //创建6位的随机验证码字符串
ValidateImage.ImageUrl=sValidatorImageUrl+sValidator;
}
}
//创建验证字符串
private string CreateValidateString(int nLen)
{//初始化
InitLetterList();
//创建一个StringBuilder对象
StringBuilder sb=new StringBuilder(nLen);
for(int i=0;i<nLen;i++)
{
//随机产生一个字符
int index=GetRandomint(0,LetterList.Length-1);
sb.Append(LetterList[index].ToString());
LetterList.Remove(index,1);
}
//返回验证码字符串
}
//创建所有字符,为创建验证字符串做准备
private void InitLetterList()
{
for(int i=0;i<10;i++)
{
LetterList.Append(i.ToString());//添加数据
}
for(int i=0;i<26;i++)
{
LetterList.Append(((char)((int)'a'+i)).ToString());//添加大写字符
}
for(int i=0;i<26;i++)
{
LetterList.Append(((char)((int)'A'+i)).ToString());//添加小写字符
}
}
//创建一个随机数
private int GetRandomint(int min,int max)
{
Random random=new Random();
return(random.Next(min,max));
}