1我的按钮的激发验证的属性已经设置为true;但是为什么还能够提交信息
2为什么按钮不能调用前台脚本 
this.cn_Confirm.Attributes.Add("onclick","return CheckData();");

解决方案 »

  1.   

    this.cn_Confirm.Attributes.Add("onclick","return CheckData();");这个语句你是写在什么地方了??
    验证的属性已经设置为true,有没有和控件关联起来。
      

  2.   

    我写在 (!IsPostBack) 里面啊
      

  3.   

    第一个问题:
        首先你用了验证控件就要设置验证控件和被验证的控件关联起来
        其次,点击哪个按钮时激发验证,这时就要设置这个按钮的Case....为TRUE;
    第二个问题:
        可以调用前台的JS,但你这个好像不能接收返回值呀.
        如果想用那个确认对话框的话
      这样用就可以啦.
      this.button.Attributes.Add("Confirm","<script>window.confirm('内容');</script>");
     
      

  4.   

    C#验证码的生成Default2 .aspx.cs代码------------------------------------------------------------using System;
    using System.Drawing;
    using System.Drawing.Imaging;public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
            //RndNum是一个自定义函数
            string VNum = RndNum(4); //这里的数字4代表显示的是4位的验证字符串!
            Session["VNum"] = VNum;
            ValidateCode(VNum);
        }
            //生成图像函数
        private void ValidateCode(string VNum)
        {
            int Gheight = (int)(VNum.Length * 11.5);
            //gheight为图片宽度,根据字符长度自动更改图片宽度
            System.Drawing.Bitmap Img = new System.Drawing.Bitmap(Gheight, 20);
            Graphics g = Graphics.FromImage(Img);
            g.DrawString(VNum, new System.Drawing.Font("Arial", 10), new System.Drawing.SolidBrush(Color.Red), 3, 3);
            //在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y) 
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            Img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            Response.ClearContent(); //需要输出图象信息 要修改HTTP头 
            Response.ContentType = "image/Jpeg";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            Img.Dispose();
            Response.End();
        }    //生成随机数函数中从Vchar数组中随机抽取
        //字母区分大小写
        public 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,W,X,Y,Z";        string[] VcArray = Vchar.Split(',');
            string VNum = "";//由于字符串很短,就不用StringBuilder了
            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) ;
                int t = rand.Next(35);
                if (temp != -1 && temp == t)
                {
                    return RndNum(VcodeNum);
                }
                temp = t;
                VNum += VcArray[t];        }
            return VNum;
        }
    }
    ---------------------------------------------------_Default .aspx代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
             &nbsp;<br />
            <asp:Image ID="Image1" runat="server" ImageUrl ="~/Default2.aspx" Height="24px" Width="112px" /><br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><br />
            
        </form>
    </body>
    </html>
    -------------------------------------------------------_Default .aspx.cs代码----------------------------------------------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;
    using System.Drawing.Imaging;public partial class _Default : System.Web.UI.Page
    {    private void Page_Load(object sender, System.EventArgs e)
        {    }    protected void Button1_Click(object sender, EventArgs e)
        {
            string VNum;
            VNum = Session["VNum"].ToString();
            ViewState["VNum"] = VNum;           if (this.TextBox1.Text == ViewState["VNum"].ToString())
            {
                Response.Write("验证码正确");
            }
            else
            {
                Response.Write("验证码错误!");
            }
          
        }
    }