Wrox Programmer Forums
Go Back   Wrox Programmer Forums > C# and C > C# 2005 > C# 2005
|
C# 2005 For discussion of Visual C# 2005.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the C# 2005 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old November 19th, 2007, 02:33 AM
Authorized User
 
Join Date: Dec 2006
Posts: 26
Thanks: 0
Thanked 0 Times in 0 Posts
Default Problem when i create a random code verification

Hi,


Problem : I can see only the created image in the browser.
          i cannot see the textbox1 and button1 in the browser,with which i have to verify the code that is created.

     i have the following code...

public partial class Image_Verfication : System.Web.UI.Page
{
    public string checkCode = "";

    protected void Page_Load(object sender, EventArgs e)
    {
        checkCode = this.CreateRandomCode(6);
        Session["CheckCode"] = checkCode;
        CreateImage(checkCode);
    }
    public string CreateRandomCode(int codeCount)
    {
        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,V,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(36);
            if (temp != -1 && temp == t)
            {
                return CreateRandomCode(codeCount);
            }
            temp = t;
            randomCode += allCharArray ;
        }
        return randomCode;
    }
    private void CreateImage(string checkCode)
    {
        System.Drawing.Bitmap image = new System.Drawing.Bitmap(Convert.ToInt32(Math.Ceiling ((decimal)(checkCode.Length * 14))), 22);
        Graphics g = Graphics.FromImage(image);
        try
        {
            Random random = new Random();
            g.Clear(Color.AliceBlue);

            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("Comic Sans MS", 12, System.Drawing.FontStyle.Bold);
            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, new SolidBrush(Color.Red), 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();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text == checkCode)
        {
            Response.Write("Code Verification is successfull!!!");
        }
        else
        {
            Response.Write("Code Verification is Failed!!!");
        }
    }
}



Please Help!!!!!!!!!!

Karthik
[Nothing is impossible]
__________________
Karthik
[Nothing is impossible]
 
Old November 26th, 2007, 05:17 AM
samjudson's Avatar
Friend of Wrox
 
Join Date: Aug 2007
Posts: 2,128
Thanks: 1
Thanked 189 Times in 188 Posts
Default

Code:
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
You are overwriting the entire page with this bit of code.

Can I recommend checking out something someone has already written, such as searching google for ".net captcha" which might lead you to this:

http://www.codeproject.com/aspnet/CaptchaControl.asp


/- Sam Judson : Wrox Technical Editor -/





Similar Threads
Thread Thread Starter Forum Replies Last Post
Create random statements ghall202 Access VBA 3 October 3rd, 2007 07:08 AM
Problem with random number while uploading images! ostwald ASP.NET 1.x and 2.0 Application Design 4 September 30th, 2007 05:33 AM
How to create a random alphabet? gefferye C# 1 October 29th, 2005 10:33 PM
random number code rob209 SQL Server 2000 1 June 17th, 2004 04:05 PM
ongoing problem with random records....HELP! ps124 ASP.NET 1.0 and 1.1 Basics 0 March 26th, 2004 05:35 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.