这个是主页面:<img src="CreateCheckCode.aspx" alt="看不清,请点击换一个!" style="cursor:hand;border:1px solid #ccc;vertical-align:top;" onclick="this.src=this.src+'?temp='+ Math.random();"/>
CreateCheckCode.aspx页面是验证码页面,
我怎么写判断????

解决方案 »

  1.   

    在CreateCheckCode.aspx页面将生成在图片中验证码保存在Session中!
      

  2.   

    完全可以Session或者cookies之类的 传值到当前页面 再做判断啊~~
      

  3.   

    将验证码保存在session或者cookie
    HttpCookie cookie=new HttpCookie("name","value");
    读取
    Request.Cookie["name"].value;
      

  4.   

      private string CreateCheckCodeString()
        { //定义用于验证码的字符数组
            char[] AllCheckCodeArray ={ '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','V','W',
            'X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
            'r','s','t','u','v','w','x','y','z'};
            //定义验证码字符串
            string randomcode = "";
            Random rd = new Random();
            //生成4位验证码字符串
            for (int i = 0; i < 4; i++)
                randomcode += AllCheckCodeArray[rd.Next(AllCheckCodeArray.Length)];
            return randomcode;
        }
        //生成验证码图片
        protected void Page_Load(object sender, EventArgs e)
        {
            //定义图片的宽度
            int ImageWidth = 55;
            //定义图片高度
            int ImageHeigh = 22;
            //定义字体,用于绘制文字
            Font font = new Font("Arial", 12, FontStyle.Bold);
            //定义画笔,用于绘制文字
            Brush brush = new SolidBrush(Color.Black);
            //定义钢笔,用于绘制干扰线
            Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里也可以直接获得一个现有的color对象如:Color.Gold.我是为了美观所以定义和下面一样
            Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里根据ARGB值定义获得了一个color对象
            //创建一个图像
            Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh);
            //从图像获取一个绘画面
            Graphics graphics = Graphics.FromImage(BitImage);
            //清除整个绘图画面并用颜色填充
            graphics.Clear(ColorTranslator.FromHtml("#F0F0F0"));//这里从HTML代码获取color对象
            //定义文字的绘制矩形区域
            RectangleF rect = new RectangleF(5, 2, ImageWidth, ImageHeigh);
            //定义一个随机数对象,用于绘制干扰线
            Random rand = new Random();
            //生成两条横向的干扰线
            for (int i = 0; i < 2; i++)
            {
                //定义起点
                Point p1 = new Point(0, rand.Next(ImageHeigh));
                //定义终点
                Point p2 = new Point(ImageWidth, rand.Next(ImageHeigh));
                //绘制直线
                graphics.DrawLine(pen1, p1, p2);
            }
            //生成两条纵向的干扰线
            for (int i = 0; i < 2; i++)
            {
                //定义起点
                Point p1 = new Point(rand.Next(ImageWidth), 0);
                //定义终点
                Point p2 = new Point(rand.Next(ImageWidth), ImageHeigh);
                //绘制直线
                graphics.DrawLine(pen2, p1, p2);
            }
            //绘制验证码文字
            graphics.DrawString(CreateCheckCodeString(), font, brush, rect);
            //保存图片为gif格式
            BitImage.Save(Response.OutputStream, ImageFormat.Gif);
            //释放对象
            graphics.Dispose();
            BitImage.Dispose();
        }
    }
    怎么写,还请指导下
      

  5.   

        protected void Page_Load(object sender, EventArgs e)
        {
            VerifyCode v = new VerifyCode();
            string code = v.CreateVerifyCode();    // 取随机码
            v.CreateImageOnPage(code, this.Context);    // 输出图片
            Response.Cookies.Add(new HttpCookie("vCode", code));    // 使用Cookies取验证码的值
        }
    //获取
    Request.Cookies["vCode"].Value
      

  6.   

    这类代码,网上搜索一个,贼多
    www.51aspx.com上面有个防google的验证码,不错
      

  7.   

    验证码页面:(注意设置页面不缓存)public void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["CheckCode"] = 你生成的验证码;
        }
    }登陆页面:if(String.IsNullOrEmpty(Session["CheckCode"].ToString()))
    {
        ...
    }
    else
    {
        ...
    }
      

  8.   

    验证码页面:(注意设置页面不缓存)public void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["CheckCode"] = 你生成的验证码;
        }
    }登陆页面:if(String.IsNullOrEmpty(Session["CheckCode"].ToString()))
    {
        ...
    }
    else
    {
        ...
    }
      

  9.   

    Session["CheckCode"] = 你生成的验证码??????
      

  10.   

    你在验证码生成的页面里面将生成的验证码存放到Session里面,然后从登陆页面取得。
      

  11.   


    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Drawing.Text;public partial class VerifyCode : System.Web.UI.Page
    {
        static string[] FontItems = new string[] {   "Arial", 
                                                      "Helvetica", 
                                                      "Geneva", 
                                                      "sans-serif", 
                                                      "Verdana"
                                                  };    static Brush[] BrushItems = new Brush[] {     Brushes.OliveDrab,
                                                      Brushes.ForestGreen,
                                                      Brushes.DarkCyan,
                                                      Brushes.LightSlateGray,
                                                      Brushes.RoyalBlue,
                                                      Brushes.SlateBlue,
                                                      Brushes.DarkViolet,
                                                      Brushes.MediumVioletRed,
                                                      Brushes.IndianRed,
                                                      Brushes.Firebrick,
                                                      Brushes.Chocolate,
                                                      Brushes.Peru,
                                                      Brushes.Goldenrod
                                                };    static string[] BrushName = new string[] {    "OliveDrab",
                                                      "ForestGreen",
                                                      "DarkCyan",
                                                      "LightSlateGray",
                                                      "RoyalBlue",
                                                      "SlateBlue",
                                                      "DarkViolet",
                                                      "MediumVioletRed",
                                                      "IndianRed",
                                                      "Firebrick",
                                                      "Chocolate",
                                                      "Peru",
                                                      "Goldenrod"
                                                 };    private static Color BackColor = Color.White;
        private static Pen BorderColor = Pens.DarkGray;
        private static int Width = 52;
        private static int Height = 19;
        private Random _random;
        private string _code;
        private int _brushNameIndex;
        
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void Page_Load(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                //
                // TODO : initialize
                //
                this._random = new Random();
                this._code = GetRandomCode();            //
                // TODO : use Session["VerfyCode"] save the VerifyCode
                //
                Session["VerfyCode"] = this._code;            //
                // TODO : output Image
                //
                this.SetPageNoCache();
                this.OnPaint();
            }
        }    /// <summary>
        /// 设置页面不被缓存
        /// </summary>
        private void SetPageNoCache()
        {
            Response.Buffer = true;
            Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
            Response.Expires = 0;
            Response.CacheControl = "no-cache";
            Response.AppendHeader("Pragma", "No-Cache");
        }    /// <summary>
        /// 取得一个 4 位的随机码
        /// </summary>
        /// <returns></returns>
        private string GetRandomCode()
        {
            return Guid.NewGuid().ToString().Substring(0, 4);
        }    /// <summary>
        /// 随机取一个字体
        /// </summary>
        /// <returns></returns>
        private Font GetFont()
        {
            int fontIndex = _random.Next(0, FontItems.Length);
            FontStyle fontStyle = GetFontStyle(_random.Next(0, 2));
            return new Font(FontItems[fontIndex], 12, fontStyle);
        }    
        /// <summary>
        /// 取一个字体的样式
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        private FontStyle GetFontStyle(int index)
        {
            switch (index)
            {
                case 0:
                    return FontStyle.Bold;
                case 1:
                    return FontStyle.Italic;
                default:
                    return FontStyle.Regular;
            }
        }
        /// <summary>
        /// 随机取一个笔刷
        /// </summary>
        /// <returns></returns>
        private Brush GetBrush()
        {
            int brushIndex = _random.Next(0, BrushItems.Length);
            _brushNameIndex = brushIndex;
            return BrushItems[brushIndex];
        }    /// <summary>
        /// 绘画事件
        /// </summary>
        private void OnPaint()
        {
            Bitmap objBitmap = null;
            Graphics g = null;        try
            {
                objBitmap = new Bitmap(Width, Height);
                g = Graphics.FromImage(objBitmap);            Paint_Background(g);
                Paint_Text(g);
                Paint_TextStain(objBitmap);
                Paint_Border(g);            objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
                Response.ContentType = "image/gif";
            }
            catch { }
            finally
            {
                if (null != objBitmap)
                    objBitmap.Dispose();
                if (null != g)
                    g.Dispose();
            }
        }    /// <summary>
        /// 绘画背景颜色
        /// </summary>
        /// <param name="g"></param>
        private void Paint_Background(Graphics g)
        {
            g.Clear(BackColor);
        }    /// <summary>
        /// 绘画边框
        /// </summary>
        /// <param name="g"></param>
        private void Paint_Border(Graphics g)
        {
            g.DrawRectangle(BorderColor, 0, 0, Width - 1, Height - 1);
        }    /// <summary>
        /// 绘画文字
        /// </summary>
        /// <param name="g"></param>
        private void Paint_Text(Graphics g)
        {
            g.DrawString(_code, GetFont(), GetBrush(), 3, 1);
        }    /// <summary>
        /// 绘画文字噪音点
        /// </summary>
        /// <param name="g"></param>
        private void Paint_TextStain(Bitmap b)
        {
            for (int n = 0; n < 30; n++)
            {
                int x = _random.Next(Width);
                int y = _random.Next(Height);
                b.SetPixel(x, y, Color.FromName(BrushName[_brushNameIndex]));
            }    }
    }附上生成验证码的类。注意这句:Session["VerfyCode"] = this._code;
      

  12.   

    大哥看我上面的代码,我Session["CheckCode"] = 什么
      

  13.   

    CreateCheckCode.aspx.cs肯定有生成验证码的方法吧,你就在里面把Session["CheckCode"]=你生成的验证码。
      

  14.   

     我不知道那个是的,请大哥指教private string CreateCheckCodeString() 
        { //定义用于验证码的字符数组 
            char[] AllCheckCodeArray ={ '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','V','W', 
            'X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q', 
            'r','s','t','u','v','w','x','y','z'}; 
            //定义验证码字符串 
            string randomcode = ""; 
            Random rd = new Random(); 
            //生成4位验证码字符串 
            for (int i = 0; i < 4; i++) 
                randomcode += AllCheckCodeArray[rd.Next(AllCheckCodeArray.Length)]; 
            return randomcode; 
        } 
        //生成验证码图片 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            //定义图片的宽度 
            int ImageWidth = 55; 
            //定义图片高度 
            int ImageHeigh = 22; 
            //定义字体,用于绘制文字 
            Font font = new Font("Arial", 12, FontStyle.Bold); 
            //定义画笔,用于绘制文字 
            Brush brush = new SolidBrush(Color.Black); 
            //定义钢笔,用于绘制干扰线 
            Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里也可以直接获得一个现有的color对象如:Color.Gold.我是为了美观所以定义和下面一样 
            Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里根据ARGB值定义获得了一个color对象 
            //创建一个图像 
            Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh); 
            //从图像获取一个绘画面 
            Graphics graphics = Graphics.FromImage(BitImage); 
            //清除整个绘图画面并用颜色填充 
            graphics.Clear(ColorTranslator.FromHtml("#F0F0F0"));//这里从HTML代码获取color对象 
            //定义文字的绘制矩形区域 
            RectangleF rect = new RectangleF(5, 2, ImageWidth, ImageHeigh); 
            //定义一个随机数对象,用于绘制干扰线 
            Random rand = new Random(); 
            //生成两条横向的干扰线 
            for (int i = 0; i < 2; i++) 
            { 
                //定义起点 
                Point p1 = new Point(0, rand.Next(ImageHeigh)); 
                //定义终点 
                Point p2 = new Point(ImageWidth, rand.Next(ImageHeigh)); 
                //绘制直线 
                graphics.DrawLine(pen1, p1, p2); 
            } 
            //生成两条纵向的干扰线 
            for (int i = 0; i < 2; i++) 
            { 
                //定义起点 
                Point p1 = new Point(rand.Next(ImageWidth), 0); 
                //定义终点 
                Point p2 = new Point(rand.Next(ImageWidth), ImageHeigh); 
                //绘制直线 
                graphics.DrawLine(pen2, p1, p2); 
            } 
            //绘制验证码文字 
            graphics.DrawString(CreateCheckCodeString(), font, brush, rect); 
            //保存图片为gif格式 
            BitImage.Save(Response.OutputStream, ImageFormat.Gif); 
            //释放对象 
            graphics.Dispose(); 
            BitImage.Dispose(); 
        } 

      

  15.   


    private string CreateCheckCodeString() 
        { //定义用于验证码的字符数组 
            char[] AllCheckCodeArray ={ '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','V','W', 
            'X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q', 
            'r','s','t','u','v','w','x','y','z'}; 
            //定义验证码字符串 
            string randomcode = ""; 
            Random rd = new Random(); 
            //生成4位验证码字符串 
            for (int i = 0; i < 4; i++) 
            {
                randomcode += AllCheckCodeArray[rd.Next(AllCheckCodeArray.Length)]; 
            }
           Session["CheckCode"]=randomcode        return randomcode; 
        } 
      

  16.   

    一般情况下验证码都是通过Session或Cookie保存验证码的
      

  17.   

    在CreateCheckCode.aspx页面生成验证码的时候把值保存到Session,验证的时候取Session匹对
      

  18.   

    在Page_Load事件下写:
    Session["CheckCode"] = this.CreateCheckCodeString();
      

  19.   

     if (String.IsNullOrEmpty(Session["VerfyCode"].ToString()))
            {
                Label1.Text = "验证码不正确,请重新输入!";
            }
            else
            {
                if (ZC.ReturnRed(enrols))
                {
                    Response.Write("<script>alert('用户名已存在,请重新注册!')</script>");
                }
                else
                {
                    Enrols.Model2.zcEnrol model2 = new Enrols.Model2.zcEnrol();
                    model2.UserId1 = 3;
                    model2.Names1 = this.TextBox5.Text.Trim();
                    model2.PassWord1 = this.TextBox6.Text.Trim();
                    model2.Sooth_Name1 = this.TextBox8.Text.Trim();
                    model2.Address1 = this.TextBox9.Text.Trim();
                    model2.Phone1 = Convert.ToInt32(this.TextBox10.Text.Trim());
                    model2.Fax1 = Convert.ToInt32(this.TextBox11.Text.Trim());
                    model2.Mobile1 = Convert.ToInt32(this.TextBox12.Text.Trim());
                    model2.Email1 = this.TextBox13.Text.Trim();
                    model2.Time1 = Convert.ToDateTime(DateTime.Now.ToString());
                    ZC.InsertZC(model2);
                    Response.Write("<script>alert('恭喜你注册成功!')</script>");
                }
      

  20.   

    if (String.IsNullOrEmpty(Session["VerfyCode"].ToString())) 
    这句代码是判断验证码是否是空的,如果不为空就进行比较,如果为空就是生成验证码的页面有问题。
      

  21.   

    <a title="刷新验证码" href="#" onclick="MakeValieCode()"><img src="MakeImages.aspx" id="valiCode" alt="验证码" border="0" /></a>
         <script type="text/javascript">
         MakeValieCode();
         function MakeValieCode()
         {
             var randnum=MakeRandNum(6);
             $("Text7").value=randnum;
             document.getElementById('valiCode').src='MakeImages.aspx?id='+randnum;
             return false;
         }
         function MakeRandNum(num)
         {
         var allchr="";
         var randnum=["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","v","w","x","y","z"];
         for(i=0;i<num;i++)
         {
         var dddrd=Math.floor(Math.random()*35+0);
         allchr=allchr+randnum[dddrd];
         }
         return allchr;
         }
         </script>
         <script type="text/javascript">
    通过向验证代码页传你在客户端获取的随机值,就可以不用session了
      

  22.   

    注意这个Session["VerfyCode"],如果你在CreateCheckCode.aspx.cs里面写的是Session["CheckCode"],你在登陆页面也得写成Session["CheckCode"]。
    哥,我服了你了。下面是判断代码:if(String.IsNullOrEmpty(Session["CheckCode"].ToString()))
    {
        //这是验证码为空的情况,怎么处理你自己搞定
    }
    else
    {
        //这是验证码不为空的情况,假设你的验证码输入框的ID=txtCheckCode
        if(txtCheckCode.Text.Trim() != Session["CheckCode"].ToString().Trim())
        {
            //验证码错误
        }
        else
        {
            //验证码正确
        }
    }注意,我这只是给你逻辑判断,具体的代码组织和封装你自己搞定。
      

  23.   

    注意这个Session["VerfyCode"],如果你在CreateCheckCode.aspx.cs里面写的是Session["CheckCode"],你在登陆页面也得写成Session["CheckCode"]。
    哥,我服了你了。下面是判断代码:if(String.IsNullOrEmpty(Session["CheckCode"].ToString()))
    {
        //这是验证码为空的情况,怎么处理你自己搞定
    }
    else
    {
        //这是验证码不为空的情况,假设你的验证码输入框的ID=txtCheckCode
        if(txtCheckCode.Text.Trim() != Session["CheckCode"].ToString().Trim())
        {
            //验证码错误
        }
        else
        {
            //验证码正确
        }
    }注意,我这只是给你逻辑判断,具体的代码组织和封装你自己搞定。
      

  24.   

    注意这个Session["VerfyCode"],如果你在CreateCheckCode.aspx.cs里面写的是Session["CheckCode"],你在登陆页面也得写成Session["CheckCode"]。
    哥,我服了你了。下面是判断代码:if(String.IsNullOrEmpty(Session["CheckCode"].ToString()))
    {
        //这是验证码为空的情况,怎么处理你自己搞定
    }
    else
    {
        //这是验证码不为空的情况,假设你的验证码输入框的ID=txtCheckCode
        if(txtCheckCode.Text.Trim() != Session["CheckCode"].ToString().Trim())
        {
            //验证码错误
        }
        else
        {
            //验证码正确
        }
    }注意,我这只是给你逻辑判断,具体的代码组织和封装你自己搞定。
      

  25.   

    protected void Page_Load(object sender, EventArgs e)
        {
            VerifyCode v = new VerifyCode();
            string code = v.CreateVerifyCode();    // 取随机码
            v.CreateImageOnPage(code, this.Context);    // 输出图片
            Response.Cookies.Add(new HttpCookie("vCode", code));    // 使用Cookies取验证码的值
        }
    //获取
    Request.Cookies["vCode"].Value
      

  26.   

    怎么老说"对不起,输入的验证码不正确,请重新输入!"; if (String.IsNullOrEmpty(Session["VerfyCode"].ToString()))
            {
                Label1.Text = "验证码不能为空,请重新输入!";
            }
            else
            {
                if (TextBox4.Text.Trim() != Session["VerfyCode"].ToString().Trim())
                {
                    Label1.Text = "对不起,输入的验证码不正确,请重新输入!";
                }            else if (ZC.ReturnRed(enrols))
                {
                    Response.Write("<script>alert('用户名已存在,请重新注册!')</script>");
                }
                else
                {
                    Enrols.Model2.zcEnrol model2 = new Enrols.Model2.zcEnrol();
                    model2.UserId1 = 3;
                    model2.Names1 = this.TextBox5.Text.Trim();
                    model2.PassWord1 = this.TextBox6.Text.Trim();
                    model2.Sooth_Name1 = this.TextBox8.Text.Trim();
                    model2.Address1 = this.TextBox9.Text.Trim();
                    model2.Phone1 = Convert.ToInt32(this.TextBox10.Text.Trim());
                    model2.Fax1 = Convert.ToInt32(this.TextBox11.Text.Trim());
                    model2.Mobile1 = Convert.ToInt32(this.TextBox12.Text.Trim());
                    model2.Email1 = this.TextBox13.Text.Trim();
                    model2.Time1 = Convert.ToDateTime(DateTime.Now.ToString());
                    ZC.InsertZC(model2);
                    Response.Write("<script>alert('恭喜你注册成功!')</script>");
                  
                }
            }
      

  27.   

    你在CreateCheckCode.aspx.cs里面把验证码放Session里面是这样写的Session["VerfyCode"]?还是这样写的Session["CheckCode"]?
      

  28.   

      if (!IsPostBack)
            {
                Session["VerfyCode"] =this.CreateCheckCodeString();
            }
      

  29.   

    你在登陆页面输出一下
    Response.Write(Session["VerfyCode"].ToString);
    看看是否有值。
      

  30.   

    在你生成验证码的那个页面的后台方法中,如果验证码在后台生成的:把生成的验证码放到session["checkcode"]中然后在前台判断 <%Session["checkcode"]%>的值与你输入的验证码的值就行如果验证码在前台生成的:
       把生成的验证码放到cookies中
       然后在前台判断 cookies的值与你输入的验证码的值就行
      

  31.   

    我这样判断为什么不对
    if (String.IsNullOrEmpty(Session["VerfyCode"].ToString())) 
            { 
                Label1.Text = "验证码不能为空,请重新输入!"; 
            } 
            else 
            { 
                if (TextBox4.Text.Trim() != Session["VerfyCode"].ToString().Trim()) 
                { 
                    Label1.Text = "对不起,输入的验证码不正确,请重新输入!"; 
                }             else if (ZC.ReturnRed(enrols)) 
                { 
                    Response.Write(" <script>alert('用户名已存在,请重新注册!') </script>"); 
                } 
                else 
                { 
                    Enrols.Model2.zcEnrol model2 = new Enrols.Model2.zcEnrol(); 
                    model2.UserId1 = 3; 
                    model2.Names1 = this.TextBox5.Text.Trim(); 
                    model2.PassWord1 = this.TextBox6.Text.Trim(); 
                    model2.Sooth_Name1 = this.TextBox8.Text.Trim(); 
                    model2.Address1 = this.TextBox9.Text.Trim(); 
                    model2.Phone1 = Convert.ToInt32(this.TextBox10.Text.Trim()); 
                    model2.Fax1 = Convert.ToInt32(this.TextBox11.Text.Trim()); 
                    model2.Mobile1 = Convert.ToInt32(this.TextBox12.Text.Trim()); 
                    model2.Email1 = this.TextBox13.Text.Trim(); 
                    model2.Time1 = Convert.ToDateTime(DateTime.Now.ToString()); 
                    ZC.InsertZC(model2); 
                    Response.Write(" <script>alert('恭喜你注册成功!') </script>"); 
                  
                } 
            }
      

  32.   

        string st = "Data Source=(local);Initial Catalog=log; Integrated Security=SSPI;";        SqlConnection con = new SqlConnection(st);
            if (Session["CheckCode"].ToString().Equals(TextBox3.Text.ToString()))
            {
                try
                {
                    con.Open();
                    SqlCommand com = new SqlCommand("select count(*) from tb_login where Name=@name and Pass=@ps", con);
                    com.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar, 50));
                    com.Parameters["@name"].Value = TextBox1.Text;
                    com.Parameters.Add(new SqlParameter("@ps", SqlDbType.VarChar, 50));
                    com.Parameters["@ps"].Value = TextBox2.Text;
                    int i = (int)com.ExecuteScalar();
                    if (i > 0)
                    {
                        com = new SqlCommand("insert entrylog values('" + TextBox1.Text + "','" + DateTime.Now.ToString() + "')", con);
                        com.ExecuteNonQuery();
                        con.Close();
                        Response.Redirect("BT2.aspx");
                    }
                    else
                    {
                        Response.Write("<script>alert('密码或用户名密码不正确!')</script>");
                    }
                }
                catch (Exception error)
                {
                    Response.Write(error.ToString());
                }
            }
            else
                Response.Write("<script>alert('验证码错误!')</script>");         }
    这是和登陆信息结合的判断验证码的代码
      

  33.   

    楼主用的是asp.net mvc吗?我写了一个MvcCaptcha的验证码控件,可以用在Mvc项目中:http://www.webdiyer.com/products/mvccaptcha
      

  34.   

    Session["VerfyCode"] is null 说明你的验证码没有赋值。你要断点看看是否到你Session赋值的语句。
      

  35.   

    直接走这一步!if (TextBox4.Text.Trim() != Session["VerfyCode"].ToString().Trim()) 
                { 
                    Label1.Text = "对不起,输入的验证码不正确,请重新输入!"; 
                } 
      

  36.   

    Session["VerfyCode"]我是在验证码的页面赋值的
      

  37.   

     if (Session["CheckCode"].ToString().Equals(TextBox3.Text.ToString())) 
            { 
               
                catch (Exception error) 
                { 
                    Response.Write(error.ToString()); 
                } 
            } 
            else 
                Response.Write(" <script>alert('验证码错误!') </script>");         } 
      

  38.   

            Response.Write(Session["VerfyCode"].ToString());这个里面有值的怎么会不行呢
      

  39.   

    private string CreateCheckCodeString() 
        { //定义用于验证码的字符数组 
            char[] AllCheckCodeArray ={ '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','V','W', 
            'X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q', 
            'r','s','t','u','v','w','x','y','z'}; 
            //定义验证码字符串 
            string randomcode = ""; 
            Random rd = new Random(); 
            //生成4位验证码字符串 
            for (int i = 0; i < 4; i++) 
                randomcode += AllCheckCodeArray[rd.Next(AllCheckCodeArray.Length)]; 
            return randomcode; 
        } 
        //生成验证码图片 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            //定义图片的宽度 
            int ImageWidth = 55; 
            //定义图片高度 
            int ImageHeigh = 22; 
            //定义字体,用于绘制文字 
            Font font = new Font("Arial", 12, FontStyle.Bold); 
            //定义画笔,用于绘制文字 
            Brush brush = new SolidBrush(Color.Black); 
            //定义钢笔,用于绘制干扰线 
            Pen pen1 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里也可以直接获得一个现有的color对象如:Color.Gold.我是为了美观所以定义和下面一样 
            Pen pen2 = new Pen(Color.FromArgb(255, 100, 100), 0);//这里根据ARGB值定义获得了一个color对象 
            //创建一个图像 
            Bitmap BitImage = new Bitmap(ImageWidth, ImageHeigh); 
            //从图像获取一个绘画面 
            Graphics graphics = Graphics.FromImage(BitImage); 
            //清除整个绘图画面并用颜色填充 
            graphics.Clear(ColorTranslator.FromHtml("#F0F0F0"));//这里从HTML代码获取color对象 
            //定义文字的绘制矩形区域 
            RectangleF rect = new RectangleF(5, 2, ImageWidth, ImageHeigh); 
            //定义一个随机数对象,用于绘制干扰线 
            Random rand = new Random(); 
            //生成两条横向的干扰线 
            for (int i = 0; i < 2; i++) 
            { 
                //定义起点 
                Point p1 = new Point(0, rand.Next(ImageHeigh)); 
                //定义终点 
                Point p2 = new Point(ImageWidth, rand.Next(ImageHeigh)); 
                //绘制直线 
                graphics.DrawLine(pen1, p1, p2); 
            } 
            //生成两条纵向的干扰线 
            for (int i = 0; i < 2; i++) 
            { 
                //定义起点 
                Point p1 = new Point(rand.Next(ImageWidth), 0); 
                //定义终点 
                Point p2 = new Point(rand.Next(ImageWidth), ImageHeigh); 
                //绘制直线 
                graphics.DrawLine(pen2, p1, p2); 
            } 
            //绘制验证码文字 
            string codestring = CreateCheckCodeString();/////////////添加的代码
            Session["codestring"] = codestring;/////////////////////
            graphics.DrawString(codestring, font, brush, rect); /////////有修改
            //保存图片为gif格式 
            BitImage.Save(Response.OutputStream, ImageFormat.Gif); 
            //释放对象 
            graphics.Dispose(); 
            BitImage.Dispose(); 
        } 

    完整的代码已经给你了,上面有很多/////////////的地方就是我修改过的地方,你以后可以再其他页面使用类似于:if(codestring  == Session["codestring"].ToString()){ //OK代码}else{//错误代码}
    就是这么简单的了