建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > asp.net教程 >

.NET常用类与方法收藏

时间:2011-07-15 14:55来源: 作者: 点击:
写在前面:   此文用于收藏常用的方法。希望大家多多交流。 ============================================================================================ 1.截取指定长度的字符串并在末尾加入指定字符 01

写在前面:

  此文用于收藏常用的方法。希望大家多多交流。

============================================================================================

1.截取指定长度的字符串并在末尾加入指定字符

01 /*
02  *方法说明:截取指定长度的字符串并在末尾加入指定字符
03  *参数说明:oldStr为原字符串,maxLength为截取长度,endWith为在末尾加入的字符
04  */
05 public static string StringTruncat(string oldStr, int maxLength, string endWith)
06     {
07         if (string.IsNullOrEmpty(oldStr))//原字符串为空时仅返回endWith
08         {
09             return oldStr + endWith;
10         }
11         if (maxLength<1)//指定长度必须大于0
12         {
13             throw new Exception("返回的字符串长度必须大于0");
14         }
15         if (oldStr.Length>maxLength)//原字符串长度大于截取长度时进行处理
16         {
17             string strTmp = oldStr.Substring(0, maxLength);//对原字符串的子串进行处理
18             if (string.IsNullOrEmpty(endWith))//如果endWith为空返回子串
19             {
20                 return strTmp;
21             }
22             else
23                 return strTmp + endWith;//给子串加的末尾加上指定字符
24         }
25         return oldStr;//原字符串长度小于等于截取长度时不作处理


2.验证码生成方法

  首先在html页面中加入javascript,此处注意imgNode.src必须根据情况自行修改。然后,新建一个“一般处理程序”,将WaterMark类的所有代码全部复制进去即可。

01 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
02 <html>
03   <head>
04     <title></title>
05     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
06     <script type="text/javascript">
07         function change() {
08             var imgNode = document.getElementById("vimg");
09             imgNode.src = "WaterMark.ashx?t=" + (new Date()).valueOf();  // 这里加个时间的参数是为了防止浏览器缓存的问题
10         }
11     </script>
12   </head>
13   <body>
14     <img src="WaterMark.ashx" id="vimg" alt="" onclick="change();"/>
15   </body>
16 </html>


01 <%@ WebHandler Language="C#" Class="WaterMark" %>
02   
03 using System;
04 using System.Web;
05 using System.Drawing;
06 using System.Drawing.Drawing2D;
07 using System.Web.SessionState;  
08   
09 public class WaterMark : IHttpHandler, IRequiresSessionState  // 要使用session必须实现该接口,记得要导入System.Web.SessionState命名空间
10 {
11   
12     public void ProcessRequest(HttpContext context)
13     {
14         string checkCode = GenCode(5);  // 产生5位随机字符
15         context.Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证
16         System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);
17         Graphics g = Graphics.FromImage(image);
18         try
19         {
20             //生成随机生成器
21             Random random = new Random();
22   
23             //清空图片背景色
24             g.Clear(Color.White);
25   
26             // 画图片的背景噪音线
27             int i;
28             for (i = 0; i < 25; i++)
29             {
30                 int x1 = random.Next(image.Width);
31                 int x2 = random.Next(image.Width);
32                 int y1 = random.Next(image.Height);
33                 int y2 = random.Next(image.Height);
34                 g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
35             }
36   
37             Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));
38             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);
39             g.DrawString(checkCode, font, brush, 2, 2);
40   
41             //画图片的前景噪音点
42             g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
43             System.IO.MemoryStream ms = new System.IO.MemoryStream();
44             image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
45             context.Response.ClearContent();
46             context.Response.ContentType = "image/Gif";
47             context.Response.BinaryWrite(ms.ToArray());
48         }
49         finally
50         {
51             g.Dispose();
52             image.Dispose();
53         }
54     }
55   
56     /// <summary>
57     /// 产生随机字符串
58     /// </summary>
59     /// <param name="num">随机出几个字符</param>
60     /// <returns>随机出的字符串</returns>
61     private string GenCode(int num)
62     {
63         string str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
64         char[] chastr = str.ToCharArray();
65         // string[] source ={ "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", "#", "$", "%", "&", "@" };
66         string code = "";
67         Random rd = new Random();
68         int i;
69         for (i = 0; i < num; i++)
70         {
71             //code += source[rd.Next(0, source.Length)];
72             code += str.Substring(rd.Next(0, str.Length), 1);
73         }
74         return code;
75   
76     }
77   
78     public bool IsReusable
79     {
80         get
81         {
82             return false;
83         }
84     }
85   
86 }


3.无刷新实现弹窗

1 Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('加入暂存架成功!');</script>");


4.MD5转码

1 using System.Web.Security;//导入命名空间
2   
3 string Password = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text.ToString(), "MD5");//进行转码
(责任编辑:admin)
织梦二维码生成器
顶一下
(5)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片