100 关于验证的问题???????????????? 1我的按钮的激发验证的属性已经设置为true;但是为什么还能够提交信息2为什么按钮不能调用前台脚本 this.cn_Confirm.Attributes.Add("onclick","return CheckData();"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 this.cn_Confirm.Attributes.Add("onclick","return CheckData();");这个语句你是写在什么地方了??验证的属性已经设置为true,有没有和控件关联起来。 我写在 (!IsPostBack) 里面啊 第一个问题: 首先你用了验证控件就要设置验证控件和被验证的控件关联起来 其次,点击哪个按钮时激发验证,这时就要设置这个按钮的Case....为TRUE;第二个问题: 可以调用前台的JS,但你这个好像不能接收返回值呀. 如果想用那个确认对话框的话 这样用就可以啦. this.button.Attributes.Add("Confirm","<script>window.confirm('内容');</script>"); 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"> <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("验证码错误!"); } }} 问下有多少人正在使用VS2010 学习程序设计,到底需不需要顺序呢? 水晶报表分页问题! 母版页中控件能[ascx]不能传值到利用母版页新建页面中 如何用正则表达式判断数字 关于Discuz!源码 问题! 我是这样做权限验证的,大伙给指点指点. 为什么电脑开机老弹出C:\PROGRAMFILES\DESKADTOP\RUN.DLL找不到指定模块 关于DW做ASP 在线等待中:在ASP.NET中怎样设置一个按钮为默认按钮? 文件上传,权限问题,真实服了!!! 哪里有javascrpt类库,最好是chm的.想深入学习一下
验证的属性已经设置为true,有没有和控件关联起来。
首先你用了验证控件就要设置验证控件和被验证的控件关联起来
其次,点击哪个按钮时激发验证,这时就要设置这个按钮的Case....为TRUE;
第二个问题:
可以调用前台的JS,但你这个好像不能接收返回值呀.
如果想用那个确认对话框的话
这样用就可以啦.
this.button.Attributes.Add("Confirm","<script>window.confirm('内容');</script>");
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">
<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("验证码错误!");
}
}
}