/// <summary> /// 初始化防止重复提交在Page_Load /// 初始化之前要在前台加入一个隐藏域web控件<asp:HiddenField ID="HidSign" runat="server" /> /// <param name="_Page">Page对象</param> /// <param name="_HiddenField">隐藏域对象ID</param> /// </summary> public static void Start_HidSign(System.Web.UI.Page _Page, System.Web.UI.WebControls.HiddenField _HiddenField) { string S_Sign = MathRandom.RandomDateTime(false, true).ToString() + MathRandom.RandomNumber(6); _HiddenField.Value = S_Sign; _Page.Session["WHidSign"] = S_Sign; }
/// <summary> /// 生成验证码图片 /// </summary> /// <param name="_Page">Page</param> /// <param name="RandomLength">验证码的位数</param> public static void RandomPic(System.Web.UI.Page _Page, int RandomLength) { //随机数 int Num = MathRandom.RandomNumber(RandomLength); _Page.Session["WRandomNum"] = Num; //创建Bmp位图 Bitmap bitMapImage = new Bitmap(RandomLength * 13 + 16, 24); Graphics graphicImage = Graphics.FromImage(bitMapImage); //设置画笔的输出质量 graphicImage.SmoothingMode = SmoothingMode.HighSpeed; //添加文本字符串 graphicImage.DrawString(Num.ToString(), new Font("黑体", 18, FontStyle.Bold), new SolidBrush(Color.Red), new Point(2, 0)); //设置图像输出的格式 _Page.Response.ContentType = "image/jpeg"; //清空输出数据 _Page.Response.Clear(); //保存数据流 bitMapImage.Save(_Page.Response.OutputStream, ImageFormat.Jpeg); //释放占用的资源 graphicImage.Dispose(); bitMapImage.Dispose(); }