首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

考别人的。不知道该如何做了~回答正确马上结帐

2012-02-02 
考别人的。不知道该怎么做了~!回答正确马上结帐!我在网上看找到一个做验证图片的,但是我到做出来了,但是在

考别人的。不知道该怎么做了~!回答正确马上结帐!
我在网上看找到一个做验证图片的,但是我到做出来了,但是在验证的时候确实不知道怎么获取它图片上的值~~请高手帮忙


using   System;
using   System.Data;
using   System.Configuration;
using   System.Collections;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;
using   System.Drawing.Imaging;
using   System.IO;
using   System.Drawing;
public   partial   class   image   :   System.Web.UI.Page
{
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                string   tmp   =   RndNum(4);
                HttpCookie   a   =   new   HttpCookie( "ImageV ",   tmp);
                Response.Cookies.Add(a);
                this.ValidateCode(tmp);
         
        }
        private   void   ValidateCode(string   VNum)
        {
                Bitmap   Img   =   null;
                Graphics   g   =   null;
                MemoryStream   ms   =   null;

                int   gheight   =   VNum.Length   *   12;
                Img   =   new   Bitmap(gheight,   25);
                g   =   Graphics.FromImage(Img);
                //背景颜色
                g.Clear(Color.White);
                //文字字体
                Font   f   =   new   Font( "Arial   Black ",   10);
                //文字颜色
                SolidBrush   s   =   new   SolidBrush(Color.Black);
                g.DrawString(VNum,   f,   s,   3,   3);
                ms   =   new   MemoryStream();
                Img.Save(ms,   ImageFormat.Jpeg);
                Response.ClearContent();
                Response.ContentType   =   "image/Jpeg ";
                Response.BinaryWrite(ms.ToArray());

                g.Dispose();
                Img.Dispose();
                Response.End();
        }

        private   string   RndNum(int   VcodeNum)
        {
                string   Vchar   =   "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 ";
                string[]   VcArray   =   Vchar.Split(new   Char[]   {   ', '   });
                string   VNum   =   " ";
                int   temp   =   -1;

                Random   rand   =   new   Random();

                for   (int   i   =   1;   i   <   VcodeNum   +   1;   i++)
                {
                        if   (temp   !=   -1)
                        {
                                rand   =   new   Random(i   *   temp   *   unchecked((int)DateTime.Now.Ticks));
                        }

                        int   t   =   rand.Next(35);
                        if   (temp   !=   -1   &&   temp   ==   t)
                        {
                                return   RndNum(VcodeNum);
                        }
                        temp   =   t;
                        VNum   +=   VcArray[t];
                }
                return   VNum;
        }


}


[解决办法]
图片上的值都是输入的

TextBox1.Text


Request.Cookie[ "ImageV "]比较
[解决办法]
HttpCookie a = new HttpCookie( "ImageV ", tmp);
----------
所以就直接读取这个cookies就可以了:Request.Cookies[ "a "].value
[解决办法]
值为什么要保存图片上。
图片只为显示用。
[解决办法]
直接用img在你要调出图片的 把那个生成图片的文件包含进去就行了
[解决办法]
HttpCookie a = new HttpCookie( "ImageV ", tmp);
----------

你取图片的地址跟你是同一个域名么?是不是因为cookie域名的原因?
设置 a.Domain看看?
[解决办法]
<TD height= "30 "> <strong> 验证码: </strong> </TD>
<TD height= "30 "> <INPUT type= "text " size= "14 " id= "lzm " name= "lzm " runat= "server " maxlength= "20 "> </TD>


<td> <asp:Image Runat= "server " ID= "ImageCheck " ImageUrl= "ValidateCode.aspx "> </asp:Image> </td>
[解决办法]
LZ应该在RndNum方法使用Vchar.ToCharArray(),你看你的代码多麻烦
[解决办法]
刚写的cookie,还没发到client当然没有值了。
在用户浏览是显示图片或者图片页,在提交验证时取上次用户浏览时存储在cookie中的图片验证码信息
[解决办法]
那你就session好了嘛

[解决办法]
把cookie该session

热点排行