用asp。net 在登录界面界怎么样写代码 才会有出现验证码那个功能呢?
还有怎样把那日期的控件弄成你一点那个三角符才出现日期控件

解决方案 »

  1.   

    2:找第三方控件1:新建一个aspx页面,page_load里写入以下内容
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Buffer = true;
            Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
            Response.Expires = 0;
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "No-Cache");        System.Random rdm = new Random();
            Bitmap bp = new Bitmap(100, 40);
            string AllStr = "23456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz";
            string[] zt = new string[] { "Arial Black", "Comic Sans MS", "Georgia" };
            SolidBrush bs = new SolidBrush(Color.FromArgb(255, 55, 0));
            SolidBrush bs1 = new SolidBrush(Color.FromArgb(243, 241, 241));
            SolidBrush bs2 = new SolidBrush(Color.FromArgb(80, 230, 115, 0));
            Graphics Dr = Graphics.FromImage(bp);
            Dr.FillRectangle(bs1, 0, 0, 100, 40);
            string rr = "";
            for (int i = 0; i <= 30; i++)
            {
                char c1 = AllStr[rdm.Next(0, AllStr.Length - 1)];
                Dr.DrawString(c1.ToString(), new Font(zt[rdm.Next(0, zt.Length - 1)], (float)rdm.Next(12, 22)), bs2, rdm.Next(0, 100) - 20, rdm.Next(0, 40) - 15);
            }
            Dr.DrawLine(new Pen(Color.FromArgb(100, Color.Red)), 0, rdm.Next(0, 40), 100, rdm.Next(0, 40));
            Dr.DrawLine(new Pen(Color.FromArgb(100, Color.Red)), 0, rdm.Next(0, 40), 100, rdm.Next(0, 40));
            for (int i = 0; i < 4; i++)
            {
                char c1 = AllStr[rdm.Next(0, AllStr.Length - 1)];
                rr += c1;
                Dr.DrawString(c1.ToString(), new Font(zt[rdm.Next(0, zt.Length - 1)], (float)rdm.Next(12, 22)), bs, i * 25, rdm.Next(0, 7));
            }
            Dr.DrawLine(new Pen(Color.FromArgb(100, Color.Red)), rdm.Next(0, 100), 0, rdm.Next(0, 100), 40);
            for (int i = 0; i <= 160; i++)
                bp.SetPixel(rdm.Next(0, 100), rdm.Next(0, 40), Color.FromArgb(rdm.Next(0, 255), rdm.Next(0, 255), rdm.Next(0, 255)));        Session["ValidateCode"] = rr;
            bp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            Response.Flush();
            Response.End();
        }
    用一个image控件,imageurl=你的这个aspx页面
    如果刷几次出现同样的图片,那么在url后面+"?t="+DateTime.Now.Tick.ToString()
    验证的时候判断Session["ValidateCode"] 和用户输入的是否相等。
      

  2.   

    <asp:textbox id="txtLZM" runat="server" Width="144px" CssClass="inputText" Height="14px"></asp:textbox>
    <asp:label id="Lbl" runat="server" Width="38px">
    <IMG src="CheckCode.aspx" align="absmiddle"></asp:label> protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (Session["ValidateCode"] == null)
                {
                    return;
                }
                if (Session["ValidateCode"].ToString().Equals(this.txtLZM.Text.Trim()))
                {
                    if (string.IsNullOrEmpty(this.txtUser.Text))
                    {
                      ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' defer>alert('请输入用户名');</script>");
                        return;
                    }
                    //查询用户
                    DataSet ds;
                    DataRowCollection myrows = ds.Tables[0].Rows;
                    if (myrows.Count == 0)
                    {  ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' defer>alert('您没有任何权限');</script>");
                        return;
                    }
                    else
                    {
                        if (myrows[0]["kl"].ToString().Trim().Equals(this.txtPwd.Text.Trim().Replace("'", "''")))
                        {  ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' defer>alert('您输入的密码不对');</script>");
                        return;
                        }
                        else
                        {
                          this.Response.Write("<script language='javascript'>window.open('main.htm','_self')</script>");
                        }
                    }
                }
            }
        }        private string MakeString()
            {
                string validatestr="";
                char ch;
                Random rdom=new Random();
                int n;            for(int i=0;i<4;i++)
                {
                    n=rdom.Next();
                    if(n%2==0)
                        ch=(char)('0'+(n%10));
                    else
                        ch=(char)('A'+(n%26));
                    validatestr +=ch.ToString();
                }
                Session["ValidateCode"]=validatestr;
                return validatestr;
            }
            private void GenerateImage(string checkCode)
            {
                Bitmap image=new Bitmap(checkCode.Length*18,30);
                Graphics g= Graphics.FromImage(image);
                try
                {
                    Random random = new Random();
                    g.Clear(Color.White);
                    for(int i=0; i<25; i++)
                    {
                        int x1 = random.Next(image.Width);
                        int x2 = random.Next(image.Width);
                        int y1 = random.Next(image.Height);
                        int y2 = random.Next(image.Height);                    g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
                    }                Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
                    System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
                    g.DrawString(checkCode, font, brush, 2, 2);
                    for(int i=0; i<100; i++)
                    {
                        int x = random.Next(image.Width);
                        int y = random.Next(image.Height);                    image.SetPixel(x, y, Color.FromArgb(random.Next()));
                    }
                    g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                    Response.ClearContent();
                    Response.ContentType = "image/Gif";
                    Response.BinaryWrite(ms.ToArray());
                }
                finally
                {
                    g.Dispose();
                    image.Dispose();
                }日期控件可使用My97DatePicker等
      

  3.   

    这类代码网上很多呢~  就搜索asp.net 验证码