当前位置:编程学习 > C#/ASP.NET >>

ASP.net编程的问题50

using System;
using System.Drawing;
using System.Drawing.Imaging;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string checkCodeString = "0123456789qwertyuipolkjhgfdsaxvbnm";
        int length = checkCodeString.Length;
        Font font = new Font("黑体", 12, FontStyle.Bold);
        Brush brush = null;
        Color brushColor = new Color();
        string chectCode = string.Empty;
        string code = string.Empty;

        Bitmap image = new Bitmap(80, 40);
        Graphics g = Graphics.FromImage(image);
        g.Clear(Color.White);
        Random random = new Random();
        for (int i = 0; i < 4; i++)
        {
            int current = random.Next(length);
            code = checkCodeString.Substring(current, 1);
            chectCode = chectCode + code;
            brushColor = Color.FromArgb(random.Next(255), random.Next(255), random.Next(255));
            brush = new SolidBrush(brushColor);

            g.DrawString(code, font, brush, i * 15 + 2, 2);

        }
        Response.Clear();
        Response.ContentType = "image/pjpeg";
        image.Save(Response.OutputStream, ImageFormat.Jpeg);
        Session["CheckCode"] = chectCode;
        image.Dispose();

        Response.ContentType = "text/html";


    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox1.Text == Session["CheckCode"])
        {
            Response.Write("<script language='javascript'>alert('通过验证')</script>");
        }
        else
        {
            Response.Write("<script language='javascript'>alert('验证不通过')</script>");
        }
    }
}

 

 

打开网页后Textbox1不见了???

为什么????

http://u.115.com/file/aq3u5dce#代码.rar
 

答案:在pageload事件当中 ,你使用了 Response.Clear();语句。造成服务器对客户端的输出内容被清空,先前根据页面定义生成的textbox当然也就随之仙去了。

应当复习一下页面生命周期的概念。

你新建一个页面,然后把生成验证码的代码放到那里面。

然后在你这个页面里面放一个img,指定img的url连接为“你新建的页面”

这样就行了。

上一个:ASP.net编程的问题34
下一个:ASP.NET编程的问题97

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,