03
2015
06

【C#、Asp.Net 工具类大全】创建显示图像的标签常用操作类

使用实例:

protected void Page_Load(object sender, EventArgs e)

{

    if (!Page.IsPostBack)

    {

        flashInfo();

    }

}

/// <summary>

/// 创建显示图像的标签

/// </summary>

02
2015
06

【C#、Asp.Net 工具类大全】Session常用操作类

使用实例:

private User u = new User();

private string urlPath = "";

protected void Page_Load(object sender, EventArgs e)

{

    if (!Page.IsPostBack)

    {

        #region 基础数据

        u = new User();

        u.UserName = "郑德才";

        u.UserAge = "27";

        u.UserSex = "男";

        u.UserSite = "http://www.zhengdecai.com";

        urlPath = Server.MapPath("~/file/");

        #endregion

        sessionInfo();

    }

}

/// <summary>

/// Session测试

/// </summary>

01
2015
06

【C#、Asp.Net 工具类大全】Cookie常用操作类

使用实例:

private User u = new User();

private string urlPath = "";

protected void Page_Load(object sender, EventArgs e)

{

    if (!Page.IsPostBack)

    {

        #region 基础数据

        u = new User();

        u.UserName = "郑德才";

        u.UserAge = "27";

        u.UserSex = "男";

        u.UserSite = "http://www.zhengdecai.com";

        urlPath = Server.MapPath("~/file/");

        #endregion

        cookieInfo();

    }

}

/// <summary>

/// Cookie测试

/// </summary>

29
2015
05

【C#、Asp.Net 工具类大全】Cache缓存常用操作类

使用实例:

private User u = new User();

private string urlPath = "";

protected void Page_Load(object sender, EventArgs e)

{

    if (!Page.IsPostBack)

    {

        #region 基础数据

        u = new User();

        u.UserName = "郑德才";

        u.UserAge = "27";

        u.UserSex = "男";

        u.UserID = "http://www.zhengdecai.com";

        urlPath = Server.MapPath("~/file/");

        #endregion

        cacheInfo();

    }

}

/// <summary>

/// 缓存测试

/// </summary>

25
2015
05

C#、Asp.Net XML节点增、删、改操作工具类

C#、Asp.Net中对XML文件进行操作,增、删、改XMl文件里面节点信息

public class XmlHelper

    #region 增、删、改操作==============================================       
    /// <summary>
    /// 追加节点
    /// </summary>
    /// <param name="filePath">XML文档绝对路径</param>
    /// <param name="xPath">范例: @"Skill/First/SkillItem"</param>
    /// <param name="xmlNode">XmlNode节点</param>
    /// <returns></returns>

05
2015
05

Asp.Net 微信菜单自定义开发功能实现源代码

1、配置文件中,配置好微信自定义菜单开发需要的AppID和AppSecret:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="AppID" value="appid的值"/>
    <add key="AppSecret" value="appsecret的值"/>
  </appSettings>
    <connectionStrings />
    <system.web>
        <compilation debug="true">
        </compilation>
        <!--
            通过 <authentication> 节可以配置
            安全身份验证模式,ASP.NET 
            使用该模式来识别来访用户身份。 
        -->
        <authentication mode="Windows" />
        <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节
            可以配置相应的处理步骤。具体而言,
            开发人员通过该节可配置要显示的 html 错误页,
            以代替错误堆栈跟踪。
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    </system.web>
</configuration>

2、添加自定义菜单源代码:

20
2015
04

C#、Asp.Net 农历与阴历之间相互转化工具类

在做一些数据统计或者时间方面的开发时,通常会遇到需要对时间的农历与阴历之间相互进行转化,需要查询当前日期是否为春节或其他节日,判断是否为春节期间“jrDate == "除夕" || jrDate == "春节" || jrSDate.Day < 7 && jrMonth == "正月"”,可以使用此工具类。

DateTime nDate = Convert.ToDateTime(date); //当前需要转换的日期

string jrDate = ChinaDate.GetChinaHoliday(nDate); //获取农历节日

string jrMonth = ChinaDate.GetMonth(nDate); //获取农历月份

string jrDay = ChinaDate.GetDay(nDate); //获取农历日期

DateTime jrSDate = ChinaDate.GetSunYearDate(nDate); //阳历转阳历

DateTime jrLDate = ChinaDate.GetLunarYearDate(jrSDate.AddYears(-1)); //阴历转阳历

16
2015
04

C#、Asp.Net 发送邮件工具类

/// <summary>
/// SendMail 的摘要说明
/// </summary>
public class SendMail
{
    public SendMail()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string EmailPath, string EmailName, string EmailTitle, string EmailContent)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 发送邮件(自定义发送配置)
    /// </summary>
    /// <param name="reEmailPath">收件人邮箱地址</param>
    /// <param name="reEmailName">收件人名称</param>
    /// <param name="sendEmailTitle">发件标题</param>
    /// <param name="sendEmailContent">发件内容</param>
    /// <param name="sendEmailUser">发件人账户</param>
    /// <param name="sendEmailPwd">发件人密码</param>
    /// <param name="sendEmailName">发件人名称</param>
    /// <param name="sendEmailPort">端口</param>
    /// <param name="sendEmailHost">发送SMTP地址</param>
    /// <returns></returns>
    public static bool SendEmail(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent, string sendEmailUser, string sendEmailPwd, string sendEmailName, string sendEmailPort, string sendEmailHost)
    {
        SmtpClient client = new SmtpClient();
        //设置为发送认证消息
        client.UseDefaultCredentials = true;
        //string Email = EmailUser.Split('@')[0];
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(sendEmailUser, sendEmailPwd);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(sendEmailPort);                //端口号
        client.Host = sendEmailHost;     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(reEmailPath, reEmailName, sendEmailTitle, sendEmailContent, sendEmailUser, sendEmailName));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="reEmailPath">发件人</param>
    /// <param name="reEmailName">发件人姓名</param>
    /// <param name="sendEmailTitle">发送标题</param>
    /// <param name="sendEmailContent">发送内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (reEmailName != "")
        {
            MailAddress mailAdd = new MailAddress(reEmailPath, reEmailName);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(reEmailPath);                  //收件人
        }
        mail.Subject = sendEmailTitle;         //主题
        mail.Body = sendEmailContent;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string EmailPath, string EmailName, string EmailTitle, string EmailContent, string attPath)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent, attPath));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="address">发送地址</param>
    /// <param name="title">标题</param>
    /// <param name="content">内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string address, string name, string title, string content, string attPath)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (name != "")
        {
            MailAddress mailAdd = new MailAddress(address, name);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(address);                  //收件人
        }
        mail.Subject = title;         //主题
        mail.Body = content;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        Attachment attach = new Attachment(attPath, "application/x-zip-compressed");
        mail.Attachments.Add(attach);
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 发送邮件(群发)
    /// </summary>
    /// <returns></returns>
    public static bool SendEmail(string[] EmailPath, string[] EmailName, string EmailTitle, string EmailContent)
    {
        SmtpClient client = new SmtpClient();
        //获取或设置用于验证发件人身份的凭据。
        client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailPwd"]);
        //经过ssl(安全套接层)加密,163邮箱SSL协议端口号为465/994,关闭SSL时端口为25,
        //qq邮箱SSL协议端口号为465或587,关闭SSL时端口同样为25,不过用SSL加密后发送邮件都失败,具体原因不知
        //client.EnableSsl = true;        
        client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["EmailPort"]);                //端口号
        client.Host = ConfigurationManager.AppSettings["EmailHost"];     //获取或设置用于 SMTP 事务的主机的名称或 IP 地址
        try
        {
            client.Send(InitMailMessage(EmailPath, EmailName, EmailTitle, EmailContent));
            return true;
        }
        catch (System.Net.Mail.SmtpException ex)
        {
            return false;
        }
    }
    /// <summary>
    /// 初始化信件相关信息(群发)
    /// </summary>
    /// <param name="address">发送地址</param>
    /// <param name="title">标题</param>
    /// <param name="content">内容</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string[] address, string[] name, string title, string content)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(ConfigurationManager.AppSettings["EmailUser"], ConfigurationManager.AppSettings["EmailName"]);  //发件人
        if (name != null && name.Length > 0)
        {
            if (address != null && address.Length > 0)
            {
                for (int i = 0; i < address.Length; i++)
                {
                    if (address != null && address[i] != null && address[i] != "")
                    {
                        string nameStr = name != null && name[i] != null ? name[i].ToString() : "";
                        MailAddress mailAdd = new MailAddress(address[i], nameStr);  //收件人
                        mail.To.Add(mailAdd);                  //收件人
                    }
                }
            }
        }
        else
        {
            for (int i = 0; i < address.Length; i++)
            {
                if (address[i] != null && address[i] != "")
                {
                    mail.To.Add(address[i]);                  //收件人
                }
            }
        }
        mail.Subject = title;         //主题
        mail.Body = content;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
    /// <summary>
    /// 初始化信件相关信息
    /// </summary>
    /// <param name="reEmailPath">收件人</param>
    /// <param name="reEmailName">收件人名称</param>
    /// <param name="sendEmailTitle">发送标题</param>
    /// <param name="sendEmailContent">发送内容</param>
    /// <param name="sendEmailUser">发件人</param>
    /// <param name="sendEmailName">发件人名称</param>
    /// <returns></returns>
    public static MailMessage InitMailMessage(string reEmailPath, string reEmailName, string sendEmailTitle, string sendEmailContent, string sendEmailUser, string sendEmailName)
    {
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(sendEmailUser, sendEmailName);  //发件人
        if (reEmailPath != "")
        {
            MailAddress mailAdd = new MailAddress(reEmailPath, reEmailName);  //收件人
            mail.To.Add(mailAdd);                  //收件人
        }
        else
        {
            mail.To.Add(reEmailPath);                  //收件人
        }
        mail.Subject = sendEmailTitle;         //主题
        mail.Body = sendEmailContent;            //内容
        //邮件主题和正文的编码格式
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;                //邮件正文允许html编码
        mail.Priority = MailPriority.Normal;     //优先级
        //密送——就是将信密秘抄送给收件人以外的人,所有收件人看不到密件抄送的地址
        //mail.Bcc.Add("823904362@qq.com");
        //抄送——就是将信抄送给收件人以外的人,所有的收件人可以在抄送地址处看到此信还抄送给谁
        //mail.CC.Add("823904362@qq.com");
        //mail.Attachments.Add(new Attachment("D:\\1.doc"));     //添加附件
        return mail;
    }
}


14
2015
04

C#、Asp.Net 身份证号码归属地、性别、出生日期查询

页面实现代码:

IDCardNumber idCardNumber;
public SelectIDCard()
{
    InitializeComponent();
}
private void btnQuery_Click(object sender, EventArgs e)
{
    idCardNumber = new IDCardNumber(txtIDCardNumber.Text);
    lblResult.Text = idCardNumber.CheckIDCardNumber(txtIDCardNumber.Text);
}

使用类IDCardNumber源代码:

14
2015
04

C#、Asp.Net 获取汉字全拼音、获得汉字拼音的简操作类

C#中,当需要将汉字转换为拼音或者某个词组转换为首字母缩写的,可以使用下面的类:

/// <summary>
/// 中文获取拼音
/// </summary>
public class PinyinHelper
{
    private static Hashtable _pinyinHash;
 
    private static Regex regWord = new Regex("[a-zA-Z]");
    private static Regex regNum = new Regex("[0-9]");
 
    #region static stor.
    static PinyinHelper()
    {
        _pinyinHash = new Hashtable();
        _pinyinHash.Add(-20319, "a");
        _pinyinHash.Add(-20317, "ai"); _pinyinHash.Add(-20304, "an"); _pinyinHash.Add(-20295, "ang");
        _pinyinHash.Add(-20292, "ao"); _pinyinHash.Add(-20283, "ba"); _pinyinHash.Add(-20265, "bai");
        _pinyinHash.Add(-20257, "ban"); _pinyinHash.Add(-20242, "bang"); _pinyinHash.Add(-20230, "bao");
        _pinyinHash.Add(-20051, "bei"); _pinyinHash.Add(-20036, "ben"); _pinyinHash.Add(-20032, "beng");
        _pinyinHash.Add(-20026, "bi"); _pinyinHash.Add(-20002, "bian"); _pinyinHash.Add(-19990, "biao");
        _pinyinHash.Add(-19986, "bie"); _pinyinHash.Add(-19982, "bin"); _pinyinHash.Add(-19976, "bing");
        _pinyinHash.Add(-19805, "bo"); _pinyinHash.Add(-19784, "bu"); _pinyinHash.Add(-19775, "ca");
        _pinyinHash.Add(-19774, "cai"); _pinyinHash.Add(-19763, "can"); _pinyinHash.Add(-19756, "cang");
        _pinyinHash.Add(-19751, "cao"); _pinyinHash.Add(-19746, "ce"); _pinyinHash.Add(-19741, "ceng");
        _pinyinHash.Add(-19739, "cha"); _pinyinHash.Add(-19728, "chai"); _pinyinHash.Add(-19725, "chan");
        _pinyinHash.Add(-19715, "chang"); _pinyinHash.Add(-19540, "chao"); _pinyinHash.Add(-19531, "che");
        _pinyinHash.Add(-19525, "chen"); _pinyinHash.Add(-19515, "cheng"); _pinyinHash.Add(-19500, "chi");
        _pinyinHash.Add(-19484, "chong"); _pinyinHash.Add(-19479, "chou"); _pinyinHash.Add(-19467, "chu");
        _pinyinHash.Add(-19289, "chuai"); _pinyinHash.Add(-19288, "chuan"); _pinyinHash.Add(-19281, "chuang");
        _pinyinHash.Add(-19275, "chui"); _pinyinHash.Add(-19270, "chun"); _pinyinHash.Add(-19263, "chuo");
        _pinyinHash.Add(-19261, "ci"); _pinyinHash.Add(-19249, "cong"); _pinyinHash.Add(-19243, "cou");
        _pinyinHash.Add(-19242, "cu"); _pinyinHash.Add(-19238, "cuan"); _pinyinHash.Add(-19235, "cui");
        _pinyinHash.Add(-19227, "cun"); _pinyinHash.Add(-19224, "cuo"); _pinyinHash.Add(-19218, "da");
        _pinyinHash.Add(-19212, "dai"); _pinyinHash.Add(-19038, "dan"); _pinyinHash.Add(-19023, "dang");
        _pinyinHash.Add(-19018, "dao"); _pinyinHash.Add(-19006, "de"); _pinyinHash.Add(-19003, "deng");
        _pinyinHash.Add(-18996, "di"); _pinyinHash.Add(-18977, "dian"); _pinyinHash.Add(-18961, "diao");
        _pinyinHash.Add(-18952, "die"); _pinyinHash.Add(-18783, "ding"); _pinyinHash.Add(-18774, "diu");
        _pinyinHash.Add(-18773, "dong"); _pinyinHash.Add(-18763, "dou"); _pinyinHash.Add(-18756, "du");
        _pinyinHash.Add(-18741, "duan"); _pinyinHash.Add(-18735, "dui"); _pinyinHash.Add(-18731, "dun");
        _pinyinHash.Add(-18722, "duo"); _pinyinHash.Add(-18710, "e"); _pinyinHash.Add(-18697, "en");
        _pinyinHash.Add(-18696, "er"); _pinyinHash.Add(-18526, "fa"); _pinyinHash.Add(-18518, "fan");
        _pinyinHash.Add(-18501, "fang"); _pinyinHash.Add(-18490, "fei"); _pinyinHash.Add(-18478, "fen");
        _pinyinHash.Add(-18463, "feng"); _pinyinHash.Add(-18448, "fo"); _pinyinHash.Add(-18447, "fou");
        _pinyinHash.Add(-18446, "fu"); _pinyinHash.Add(-18239, "ga"); _pinyinHash.Add(-18237, "gai");
        _pinyinHash.Add(-18231, "gan"); _pinyinHash.Add(-18220, "gang"); _pinyinHash.Add(-18211, "gao");
        _pinyinHash.Add(-18201, "ge"); _pinyinHash.Add(-18184, "gei"); _pinyinHash.Add(-18183, "gen");
        _pinyinHash.Add(-18181, "geng"); _pinyinHash.Add(-18012, "gong"); _pinyinHash.Add(-17997, "gou");
        _pinyinHash.Add(-17988, "gu"); _pinyinHash.Add(-17970, "gua"); _pinyinHash.Add(-17964, "guai");
        _pinyinHash.Add(-17961, "guan"); _pinyinHash.Add(-17950, "guang"); _pinyinHash.Add(-17947, "gui");
        _pinyinHash.Add(-17931, "gun"); _pinyinHash.Add(-17928, "guo"); _pinyinHash.Add(-17922, "ha");
        _pinyinHash.Add(-17759, "hai"); _pinyinHash.Add(-17752, "han"); _pinyinHash.Add(-17733, "hang");
        _pinyinHash.Add(-17730, "hao"); _pinyinHash.Add(-17721, "he"); _pinyinHash.Add(-17703, "hei");
        _pinyinHash.Add(-17701, "hen"); _pinyinHash.Add(-17697, "heng"); _pinyinHash.Add(-17692, "hong");
        _pinyinHash.Add(-17683, "hou"); _pinyinHash.Add(-17676, "hu"); _pinyinHash.Add(-17496, "hua");
        _pinyinHash.Add(-17487, "huai"); _pinyinHash.Add(-17482, "huan"); _pinyinHash.Add(-17468, "huang");
        _pinyinHash.Add(-17454, "hui"); _pinyinHash.Add(-17433, "hun"); _pinyinHash.Add(-17427, "huo");
        _pinyinHash.Add(-17417, "ji"); _pinyinHash.Add(-17202, "jia"); _pinyinHash.Add(-17185, "jian");
        _pinyinHash.Add(-16983, "jiang"); _pinyinHash.Add(-16970, "jiao"); _pinyinHash.Add(-16942, "jie");
        _pinyinHash.Add(-16915, "jin"); _pinyinHash.Add(-16733, "jing"); _pinyinHash.Add(-16708, "jiong");
        _pinyinHash.Add(-16706, "jiu"); _pinyinHash.Add(-16689, "ju"); _pinyinHash.Add(-16664, "juan");
        _pinyinHash.Add(-16657, "jue"); _pinyinHash.Add(-16647, "jun"); _pinyinHash.Add(-16474, "ka");
        _pinyinHash.Add(-16470, "kai"); _pinyinHash.Add(-16465, "kan"); _pinyinHash.Add(-16459, "kang");
        _pinyinHash.Add(-16452, "kao"); _pinyinHash.Add(-16448, "ke"); _pinyinHash.Add(-16433, "ken");
        _pinyinHash.Add(-16429, "keng"); _pinyinHash.Add(-16427, "kong"); _pinyinHash.Add(-16423, "kou");
        _pinyinHash.Add(-16419, "ku"); _pinyinHash.Add(-16412, "kua"); _pinyinHash.Add(-16407, "kuai");
        _pinyinHash.Add(-16403, "kuan"); _pinyinHash.Add(-16401, "kuang"); _pinyinHash.Add(-16393, "kui");
        _pinyinHash.Add(-16220, "kun"); _pinyinHash.Add(-16216, "kuo"); _pinyinHash.Add(-16212, "la");
        _pinyinHash.Add(-16205, "lai"); _pinyinHash.Add(-16202, "lan"); _pinyinHash.Add(-16187, "lang");
        _pinyinHash.Add(-16180, "lao"); _pinyinHash.Add(-16171, "le"); _pinyinHash.Add(-16169, "lei");
        _pinyinHash.Add(-16158, "leng"); _pinyinHash.Add(-16155, "li"); _pinyinHash.Add(-15959, "lia");
        _pinyinHash.Add(-15958, "lian"); _pinyinHash.Add(-15944, "liang"); _pinyinHash.Add(-15933, "liao");
        _pinyinHash.Add(-15920, "lie"); _pinyinHash.Add(-15915, "lin"); _pinyinHash.Add(-15903, "ling");
        _pinyinHash.Add(-15889, "liu"); _pinyinHash.Add(-15878, "long"); _pinyinHash.Add(-15707, "lou");
        _pinyinHash.Add(-15701, "lu"); _pinyinHash.Add(-15681, "lv"); _pinyinHash.Add(-15667, "luan");
        _pinyinHash.Add(-15661, "lue"); _pinyinHash.Add(-15659, "lun"); _pinyinHash.Add(-15652, "luo");
        _pinyinHash.Add(-15640, "ma"); _pinyinHash.Add(-15631, "mai"); _pinyinHash.Add(-15625, "man");
        _pinyinHash.Add(-15454, "mang"); _pinyinHash.Add(-15448, "mao"); _pinyinHash.Add(-15436, "me");
        _pinyinHash.Add(-15435, "mei"); _pinyinHash.Add(-15419, "men"); _pinyinHash.Add(-15416, "meng");
        _pinyinHash.Add(-15408, "mi"); _pinyinHash.Add(-15394, "mian"); _pinyinHash.Add(-15385, "miao");
        _pinyinHash.Add(-15377, "mie"); _pinyinHash.Add(-15375, "min"); _pinyinHash.Add(-15369, "ming");
        _pinyinHash.Add(-15363, "miu"); _pinyinHash.Add(-15362, "mo"); _pinyinHash.Add(-15183, "mou");
        _pinyinHash.Add(-15180, "mu"); _pinyinHash.Add(-15165, "na"); _pinyinHash.Add(-15158, "nai");
        _pinyinHash.Add(-15153, "nan"); _pinyinHash.Add(-15150, "nang"); _pinyinHash.Add(-15149, "nao");
        _pinyinHash.Add(-15144, "ne"); _pinyinHash.Add(-15143, "nei"); _pinyinHash.Add(-15141, "nen");
        _pinyinHash.Add(-15140, "neng"); _pinyinHash.Add(-15139, "ni"); _pinyinHash.Add(-15128, "nian");
        _pinyinHash.Add(-15121, "niang"); _pinyinHash.Add(-15119, "niao"); _pinyinHash.Add(-15117, "nie");
        _pinyinHash.Add(-15110, "nin"); _pinyinHash.Add(-15109, "ning"); _pinyinHash.Add(-14941, "niu");
        _pinyinHash.Add(-14937, "nong"); _pinyinHash.Add(-14933, "nu"); _pinyinHash.Add(-14930, "nv");
        _pinyinHash.Add(-14929, "nuan"); _pinyinHash.Add(-14928, "nue"); _pinyinHash.Add(-14926, "nuo");
        _pinyinHash.Add(-14922, "o"); _pinyinHash.Add(-14921, "ou"); _pinyinHash.Add(-14914, "pa");
        _pinyinHash.Add(-14908, "pai"); _pinyinHash.Add(-14902, "pan"); _pinyinHash.Add(-14894, "pang");
        _pinyinHash.Add(-14889, "pao"); _pinyinHash.Add(-14882, "pei"); _pinyinHash.Add(-14873, "pen");
        _pinyinHash.Add(-14871, "peng"); _pinyinHash.Add(-14857, "pi"); _pinyinHash.Add(-14678, "pian");
        _pinyinHash.Add(-14674, "piao"); _pinyinHash.Add(-14670, "pie"); _pinyinHash.Add(-14668, "pin");
        _pinyinHash.Add(-14663, "ping"); _pinyinHash.Add(-14654, "po"); _pinyinHash.Add(-14645, "pu");
        _pinyinHash.Add(-14630, "qi"); _pinyinHash.Add(-14594, "qia"); _pinyinHash.Add(-14429, "qian");
        _pinyinHash.Add(-14407, "qiang"); _pinyinHash.Add(-14399, "qiao"); _pinyinHash.Add(-14384, "qie");
        _pinyinHash.Add(-14379, "qin"); _pinyinHash.Add(-14368, "qing"); _pinyinHash.Add(-14355, "qiong");
        _pinyinHash.Add(-14353, "qiu"); _pinyinHash.Add(-14345, "qu"); _pinyinHash.Add(-14170, "quan");
        _pinyinHash.Add(-14159, "que"); _pinyinHash.Add(-14151, "qun"); _pinyinHash.Add(-14149, "ran");
        _pinyinHash.Add(-14145, "rang"); _pinyinHash.Add(-14140, "rao"); _pinyinHash.Add(-14137, "re");
        _pinyinHash.Add(-14135, "ren"); _pinyinHash.Add(-14125, "reng"); _pinyinHash.Add(-14123, "ri");
        _pinyinHash.Add(-14122, "rong"); _pinyinHash.Add(-14112, "rou"); _pinyinHash.Add(-14109, "ru");
        _pinyinHash.Add(-14099, "ruan"); _pinyinHash.Add(-14097, "rui"); _pinyinHash.Add(-14094, "run");
        _pinyinHash.Add(-14092, "ruo"); _pinyinHash.Add(-14090, "sa"); _pinyinHash.Add(-14087, "sai");
        _pinyinHash.Add(-14083, "san"); _pinyinHash.Add(-13917, "sang"); _pinyinHash.Add(-13914, "sao");
        _pinyinHash.Add(-13910, "se"); _pinyinHash.Add(-13907, "sen"); _pinyinHash.Add(-13906, "seng");
        _pinyinHash.Add(-13905, "sha"); _pinyinHash.Add(-13896, "shai"); _pinyinHash.Add(-13894, "shan");
        _pinyinHash.Add(-13878, "shang"); _pinyinHash.Add(-13870, "shao"); _pinyinHash.Add(-13859, "she");
        _pinyinHash.Add(-13847, "shen"); _pinyinHash.Add(-13831, "sheng"); _pinyinHash.Add(-13658, "shi");
        _pinyinHash.Add(-13611, "shou"); _pinyinHash.Add(-13601, "shu"); _pinyinHash.Add(-13406, "shua");
        _pinyinHash.Add(-13404, "shuai"); _pinyinHash.Add(-13400, "shuan"); _pinyinHash.Add(-13398, "shuang");
        _pinyinHash.Add(-13395, "shui"); _pinyinHash.Add(-13391, "shun"); _pinyinHash.Add(-13387, "shuo");
        _pinyinHash.Add(-13383, "si"); _pinyinHash.Add(-13367, "song"); _pinyinHash.Add(-13359, "sou");
        _pinyinHash.Add(-13356, "su"); _pinyinHash.Add(-13343, "suan"); _pinyinHash.Add(-13340, "sui");
        _pinyinHash.Add(-13329, "sun"); _pinyinHash.Add(-13326, "suo"); _pinyinHash.Add(-13318, "ta");
        _pinyinHash.Add(-13147, "tai"); _pinyinHash.Add(-13138, "tan"); _pinyinHash.Add(-13120, "tang");
        _pinyinHash.Add(-13107, "tao"); _pinyinHash.Add(-13096, "te"); _pinyinHash.Add(-13095, "teng");
        _pinyinHash.Add(-13091, "ti"); _pinyinHash.Add(-13076, "tian"); _pinyinHash.Add(-13068, "tiao");
        _pinyinHash.Add(-13063, "tie"); _pinyinHash.Add(-13060, "ting"); _pinyinHash.Add(-12888, "tong");
        _pinyinHash.Add(-12875, "tou"); _pinyinHash.Add(-12871, "tu"); _pinyinHash.Add(-12860, "tuan");
        _pinyinHash.Add(-12858, "tui"); _pinyinHash.Add(-12852, "tun"); _pinyinHash.Add(-12849, "tuo");
        _pinyinHash.Add(-12838, "wa"); _pinyinHash.Add(-12831, "wai"); _pinyinHash.Add(-12829, "wan");
        _pinyinHash.Add(-12812, "wang"); _pinyinHash.Add(-12802, "wei"); _pinyinHash.Add(-12607, "wen");
        _pinyinHash.Add(-12597, "weng"); _pinyinHash.Add(-12594, "wo"); _pinyinHash.Add(-12585, "wu");
        _pinyinHash.Add(-12556, "xi"); _pinyinHash.Add(-12359, "xia"); _pinyinHash.Add(-12346, "xian");
        _pinyinHash.Add(-12320, "xiang"); _pinyinHash.Add(-12300, "xiao"); _pinyinHash.Add(-12120, "xie");
        _pinyinHash.Add(-12099, "xin"); _pinyinHash.Add(-12089, "xing"); _pinyinHash.Add(-12074, "xiong");
        _pinyinHash.Add(-12067, "xiu"); _pinyinHash.Add(-12058, "xu"); _pinyinHash.Add(-12039, "xuan");
        _pinyinHash.Add(-11867, "xue"); _pinyinHash.Add(-11861, "xun"); _pinyinHash.Add(-11847, "ya");
        _pinyinHash.Add(-11831, "yan"); _pinyinHash.Add(-11798, "yang"); _pinyinHash.Add(-11781, "yao");
        _pinyinHash.Add(-11604, "ye"); _pinyinHash.Add(-11589, "yi"); _pinyinHash.Add(-11536, "yin");
        _pinyinHash.Add(-11358, "ying"); _pinyinHash.Add(-11340, "yo"); _pinyinHash.Add(-11339, "yong");
        _pinyinHash.Add(-11324, "you"); _pinyinHash.Add(-11303, "yu"); _pinyinHash.Add(-11097, "yuan");
        _pinyinHash.Add(-11077, "yue"); _pinyinHash.Add(-11067, "yun"); _pinyinHash.Add(-11055, "za");
        _pinyinHash.Add(-11052, "zai"); _pinyinHash.Add(-11045, "zan"); _pinyinHash.Add(-11041, "zang");
        _pinyinHash.Add(-11038, "zao"); _pinyinHash.Add(-11024, "ze"); _pinyinHash.Add(-11020, "zei");
        _pinyinHash.Add(-11019, "zen"); _pinyinHash.Add(-11018, "zeng"); _pinyinHash.Add(-11014, "zha");
        _pinyinHash.Add(-10838, "zhai"); _pinyinHash.Add(-10832, "zhan"); _pinyinHash.Add(-10815, "zhang");
        _pinyinHash.Add(-10800, "zhao"); _pinyinHash.Add(-10790, "zhe"); _pinyinHash.Add(-10780, "zhen");
        _pinyinHash.Add(-10764, "zheng"); _pinyinHash.Add(-10587, "zhi"); _pinyinHash.Add(-10544, "zhong");
        _pinyinHash.Add(-10533, "zhou"); _pinyinHash.Add(-10519, "zhu"); _pinyinHash.Add(-10331, "zhua");
        _pinyinHash.Add(-10329, "zhuai"); _pinyinHash.Add(-10328, "zhuan"); _pinyinHash.Add(-10322, "zhuang");
        _pinyinHash.Add(-10315, "zhui"); _pinyinHash.Add(-10309, "zhun"); _pinyinHash.Add(-10307, "zhuo");
        _pinyinHash.Add(-10296, "zi"); _pinyinHash.Add(-10281, "zong"); _pinyinHash.Add(-10274, "zou");
        _pinyinHash.Add(-10270, "zu"); _pinyinHash.Add(-10262, "zuan"); _pinyinHash.Add(-10260, "zui");
        _pinyinHash.Add(-10256, "zun"); _pinyinHash.Add(-10254, "zuo"); _pinyinHash.Add(-10247, "zz");
    }
    #endregion
 
    /// <summary>
    /// 获得汉字的拼音,如果输入的是英文字符将原样输出,中文标点符号将被忽略
    /// </summary>
    /// <param name="chineseChars">汉字字符串</param>
    /// <returns>拼音</returns>
    public static string GetPinyin(string chineseChars)
    {
        byte[] byteArray = System.Text.Encoding.Default.GetBytes(chineseChars);
        int byteValue;
        StringBuilder sb = new StringBuilder(chineseChars.Length * 4);
        for (int i = 0; i < byteArray.Length; i++)
        {
            byteValue = (int)byteArray[i];
            if (byteValue > 160)
            {
                ++i;
                if (i >= byteArray.Length)
                {
                    break;
                }
                byteValue = byteValue * 256 + byteArray[i] - 65536;
                sb.Append(GetPinyin(byteValue));
            }
            else
            {
                sb.Append((char)byteValue);
            }
        }
 
        return sb.ToString();
    }
 
    /// <summary>
    /// 获得汉字拼音的简写,即每一个汉字的拼音的首字母组成的串,如果输入的是英文字符将原样输出,中文标点符号将被忽略
    /// </summary>
    /// <param name="chineseChars">汉字字符串</param>
    /// <returns>拼音简写</returns>
    public static string GetShortPinyin(string chineseChars)
    {
        byte[] byteArray = System.Text.Encoding.Default.GetBytes(chineseChars);
        int byteValue;
        StringBuilder sb = new StringBuilder(chineseChars.Length * 4);
        for (int i = 0; i < byteArray.Length; i++)
        {
            byteValue = (int)byteArray[i];
            if (byteValue > 160)
            {
                ++i;
                if (i >= byteArray.Length)
                {
                    break;
                }
                byteValue = byteValue * 256 + byteArray[i] - 65536;
                string charPinyin = GetPinyin(byteValue);
                if (!string.IsNullOrEmpty(charPinyin))
                {
                    charPinyin = new string(charPinyin[0], 1);
                }
                sb.Append(charPinyin);
            }
            else
            {
                sb.Append((char)byteValue);
            }
        }
 
        return sb.ToString();
    }
 
    private static string GetPinyin(int charValue)
    {
        if (charValue < -20319 || charValue > -10247)
            return "";
 
        while (!_pinyinHash.ContainsKey(charValue))
            charValue--;
 
        return (string)_pinyinHash[charValue];
    }
 
    public static string GetFirstWord(string pingyin)
    {
        pingyin = pingyin.Trim();
        string word = "";
        for (int i = 0; i < pingyin.Length; i++)
        {
            word = pingyin.Substring(i, 1);
            if (regWord.IsMatch(word))
            {
                break;
            }
            if (regNum.IsMatch(word))
            {
                if (word == "0")
                    word = "l";
                else if (word == "1")
                    word = "y";
                else if (word == "2")
                    word = "e";
                else if (word == "3")
                    word = "s";
                else if (word == "4")
                    word = "s";
                else if (word == "5")
                    word = "w";
                else if (word == "6")
                    word = "l";
                else if (word == "7")
                    word = "q";
                else if (word == "8")
                    word = "b";
                else if (word == "9")
                    word = "q";
                else
                    continue;
                break;
            }
        }
        return word;
    }
}

12
2015
04

C#、Asp.Net 详细文件操作工具类收藏

public class Txt
{
    public Txt()
    {
    }
    /// <summary>
    /// 新建文件
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <param name="path">文件路径</param>
    public static void NewFile(string filename, string path)
    {
        filename.Trim();
        if (filename == "")
        {
            MessageBox.Show("文件名不能为空~!");
        }
        else
        {
            if (File.Exists(path + "//" + filename + ".txt"))
            {
                MessageBox.Show("该文件名已经存在,请重命名");
            }
            else
            {
                string FullName = path + "//" + filename + ".txt";   //获得文件完整信息
                StreamWriter Sw = File.CreateText(FullName);
            }
        }
    }
    /// <summary>
    /// 新建文件(Enter键触发)
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <param name="path">文件路径</param>
    public static void Enter(string filename, string path)
    {
        filename.Trim();
        if (filename == "")
        {
            MessageBox.Show("文件名不能为空~!");
        }
        else
        {
            if (File.Exists(path + "//" + filename + ".txt"))
            {
                MessageBox.Show("该文件名已经存在,请重命名");
            }
            else
            {
                string FullName = path + "//" + filename + ".txt";   //获得文件完整信息
                StreamWriter Sw = File.CreateText(FullName);
            }
        }
    }
    /// <summary>
    /// 读取显示
    /// </summary>
    /// <param name="filename">文本文件名</param>
    /// <param name="contents">内容</param>
    public static string Display(string filename)
    {//读取显示
        try
        {
            string contents;
            FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);   //读出所打开的文本文件
            StreamReader reader = new StreamReader(fs);     //实例化一个streamreader
            contents = reader.ReadToEnd();           //将数据显示
            fs.Close();
            return contents;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            return "";
        }
    }
    /// <summary>
    /// 打开
    /// </summary>
    /// <param name="ofd">打开对话框</param>
    /// <param name="fullname">文本文件名</param>
    /// <param name="contents">内容</param>
    public static void Open(OpenFileDialog ofd, string fullname, string contents)
    {//打开文本
        try
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string fileName = ofd.FileName;     //文件名
                FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                StreamReader reader = new StreamReader(fs);
                fullname = fileName;
                contents = reader.ReadToEnd();
                fs.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    /// <summary>
    /// 保存
    /// </summary>
    /// <param name="fullname">文本文件名</param>
    /// <param name="contents">内容</param>
    public static void Save(string fullname, string contents)
    {//保存
        try
        {
            StreamWriter writer = new StreamWriter(fullname);
            writer.Write(contents);      //用write()方法把txtContent的数据写入文件
            writer.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    /// <summary>
    /// 另存为
    /// </summary>
    /// <param name="sfd">保存对话框</param>
    /// <param name="contents">内容</param>
    public static void SaveAs(SaveFileDialog sfd, string contents)
    {
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            string fileName = sfd.FileName;
            try
            {
                Stream stream = File.OpenWrite(fileName);
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    writer.Write(contents);
                    writer.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 粗体
    /// </summary>
    /// <param name="rtb"></param>
    public static void Bold(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
                    (rtb.SelectionFont.Bold ?
                        rtb.SelectionFont.Style & ~FontStyle.Bold :
                        rtb.SelectionFont.Style | FontStyle.Bold));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 斜体
    /// </summary>
    /// <param name="rtb"></param>
    public static void Italic(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
        (rtb.SelectionFont.Italic ?
        rtb.SelectionFont.Style & ~FontStyle.Italic :
        rtb.SelectionFont.Style | FontStyle.Italic));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 下划线
    /// </summary>
    /// <param name="rtb"></param>
    public static void Underline(RichTextBox rtb)
    {
        Font newFont = new Font(rtb.SelectionFont,
        (rtb.SelectionFont.Underline ?
        rtb.SelectionFont.Style & ~FontStyle.Underline :
        rtb.SelectionFont.Style | FontStyle.Underline));
        rtb.SelectionFont = newFont;
    }
    /// <summary>
    /// 复制
    /// </summary>
    /// <param name="rtb"></param>
    public static void Copy(RichTextBox rtb)
    {
        if (rtb.SelectedText.Equals(""))
            return;
        Clipboard.SetDataObject(rtb.SelectedText, true);
    }
    /// <summary>
    /// 剪切
    /// </summary>
    /// <param name="rtb"></param>
    public static void Cut(RichTextBox rtb)
    {
        if (rtb.SelectedText.Length > 0)
        {
            try
            {
                rtb.Cut();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 粘贴
    /// </summary>
    /// <param name="rtb"></param>
    public static void Paste(RichTextBox rtb)
    {
        rtb.Paste();
    }
    /// <summary>
    /// 退出
    /// </summary>
    /// <param name="fullname">文本文件全名</param>
    /// <param name="contents">内容</param>
    public static void Exit(string fullname, string contents)
    {
        if (MessageBox.Show("是否保存文件", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
        {
            try
            {
                StreamWriter writer = new StreamWriter(fullname);
                writer.Write(contents);      //用write()方法把txtContent的数据写入文件
                writer.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
    /// <summary>
    /// 在指定目录新建一个文本文件
    /// </summary>
    /// <param name="path"></param>
    /// <param name="name"></param>
    /// <returns></returns>
    public static StreamWriter CreateText(string path, string name)
    {
        return File.CreateText(path + "//" + name);
    }
    /// <summary>
    /// 删除指定文件
    /// </summary>
    /// <param name="strFile">文件完整路径</param>
    public static void DeleteFile(string strFile)
    {
        File.Delete(strFile);
    }
}

27
2015
03

C#、Asp.Net 操作Access数据库工具类

在开发过程中,如果没有MSSql数据库,那么使用Access数据库时,需要对Access数据库数据进行操作,对Access数据操作和MSSql差不多,所以可以建立工具类,方便使用,需注意:在添加和修改数据时,有时候回出现无法操作,可能是数据表中的"关键词",需要在字段的两边加上[]:

public class SQLAccess

{

    /// <summary>

    /// 返回多行多列查询值,无效则返回 

27
2015
03

C#、Asp.Net 读取网页源代码多种方法类

Asp.Net网站和WinForm开发过程中,常常需要抓取某个网站或地址的源代码,所以写一个读取网页源代码是有必要的:

/// <summary>

/// 网页操作类

/// </summary>

public class HTML

{

    /// <summary>

    /// 获取网页源代码

    /// </summary>

11
2014
12

(Asp.Net、C#)FTP常用的操作

using System.IO;
using System.Net;
using System.Text;
using System.Diagnostics;
using System.Text.RegularExpressions;

    //从ftp上下载文件
    private void Download(string filePath, string ImageSrc, string ImageName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        if (!Directory.Exists(filePath))
        {
            Directory.CreateDirectory(filePath);
        }
        using (FileStream OutputStream = new FileStream(filePath + "\\" + ImageName, FileMode.Create))
        {
            FtpWebRequest ReqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + 

ImageSrc));

            ReqFTP.Method = WebRequestMethods.Ftp.DownloadFile;

            ReqFTP.UseBinary = true;

            ReqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

            using (FtpWebResponse response = (FtpWebResponse)ReqFTP.GetResponse())
            {

                using (Stream FtpStream = response.GetResponseStream())
                {

                    long Cl = response.ContentLength;

                    int bufferSize = 2048;

                    int readCount;

                    byte[] buffer = new byte[bufferSize];

                    readCount = FtpStream.Read(buffer, 0, bufferSize);

                    while (readCount > 0)
                    {
                        OutputStream.Write(buffer, 0, readCount);

                        readCount = FtpStream.Read(buffer, 0, bufferSize);
                    }

                    FtpStream.Close();
                }

                response.Close();

            }

            OutputStream.Close();
        }

    }
        //从服务器上传文件到FTP上
    private void UploadSmall(string sFileDstPath, string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {

        FileInfo fileInf = new FileInfo(sFileDstPath);

        FtpWebRequest reqFTP;

        reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + FolderName + "/" + 

fileInf.Name));

        reqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

        reqFTP.KeepAlive = false;

        reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

        reqFTP.UseBinary = true;

        reqFTP.ContentLength = fileInf.Length;

        int buffLength = 2048;

        byte[] buff = new byte[buffLength];

        int contentLen;

        using (FileStream fs = fileInf.OpenRead())
        {

            using (Stream strm = reqFTP.GetRequestStream())
            {

                contentLen = fs.Read(buff, 0, buffLength);

                while (contentLen != 0)
                {

                    strm.Write(buff, 0, contentLen);

                    contentLen = fs.Read(buff, 0, buffLength);
                }

                strm.Close();
            }

            fs.Close();
        }

    }
    //删除服务器上的文件
    private void DeleteWebServerFile(string sFilePath)
    {
        if (File.Exists(sFilePath))
        {
            File.Delete(sFilePath);
        }
    }
    //删除FTP上的文件
    private void DeleteFtpFile(string[] IName, string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        foreach (string ImageName in IName)
        {
            string[] FileList = GetFileList(FolderName, ftpServerIP, ftpUserName, ftpPwd);
            for (int i = 0; i < FileList.Length; i++)
            {
                string Name = FileList[i].ToString();
                if (Name == ImageName)
                {
                    FtpWebRequest ReqFTP;

                    ReqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + 

FolderName + "/" + ImageName));

                    ReqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

                    ReqFTP.KeepAlive = false;

                    ReqFTP.Method = WebRequestMethods.Ftp.DeleteFile;

                    ReqFTP.UseBinary = true;

                    using (FtpWebResponse Response = (FtpWebResponse)ReqFTP.GetResponse())
                    {

                        long size = Response.ContentLength;

                        using (Stream datastream = Response.GetResponseStream())
                        {

                            using (StreamReader sr = new StreamReader(datastream))
                            {

                                sr.ReadToEnd();

                                sr.Close();
                            }

                            datastream.Close();
                        }

                        Response.Close();
                    }
                }
            }

        }

    }
    //检查文件是否存在
    public string[] GetFileList(string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        string[] downloadFiles;

        StringBuilder result = new StringBuilder();

        FtpWebRequest reqFTP;
        try
        {
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + FolderName + 

"/"));

            reqFTP.UseBinary = true;

            reqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

            reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;

            WebResponse response = reqFTP.GetResponse();

            StreamReader reader = new StreamReader(response.GetResponseStream());

            string line = reader.ReadLine();

            while (line != null)
            {
                result.Append(line);

                result.Append("\n");

                line = reader.ReadLine();
            }
            // to remove the trailing '\n'        
            result.Remove(result.ToString().LastIndexOf('\n'), 1);

            reader.Close();

            response.Close();

            return result.ToString().Split('\n');
        }
        catch (Exception ex)
        {
            downloadFiles = null;
            return downloadFiles;
        }
    }
    //从客户端上传文件到FTP上
    private void UploadFtp(HttpPostedFile sFilePath, string filename, string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        //获取的服务器路径
        //FileInfo fileInf = new FileInfo(sFilePath);

        FtpWebRequest reqFTP;

        reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + FolderName + "/" + 

filename));

        reqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

        reqFTP.KeepAlive = false;

        reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

        reqFTP.UseBinary = true;

        reqFTP.ContentLength = sFilePath.ContentLength;
        //设置缓存
        int buffLength = 2048;

        byte[] buff = new byte[buffLength];

        int contentLen;

        using (Stream fs = sFilePath.InputStream)
        {

            using (Stream strm = reqFTP.GetRequestStream())
            {

                contentLen = fs.Read(buff, 0, buffLength);

                while (contentLen != 0)
                {

                    strm.Write(buff, 0, contentLen);

                    contentLen = fs.Read(buff, 0, buffLength);
                }

                strm.Close();
            }

            fs.Close();
        }

    }
    //创建目录
    private void CreateDirectory(string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        //创建日期目录
        try
        {
            FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + 

FolderName));

            reqFTP.UseBinary = true;

            reqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

            reqFTP.KeepAlive = false;

            reqFTP.Method = WebRequestMethods.Ftp.MakeDirectory;

            FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
        }
        catch
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('系统忙,请稍后再

试!');location.href=location.href;</script>");
        }
    }
    //检查日期目录和文件是否存在
    private static Regex regexName = new Regex(@"[^\s]*$", RegexOptions.Compiled);
    private bool CheckFileOrPath(string FolderName, string ftpServerIP, string ftpUserName, string ftpPwd)
    {
        //检查一下日期目录是否存在
        FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/"));

        reqFTP.UseBinary = true;

        reqFTP.Credentials = new NetworkCredential(ftpUserName, ftpPwd);

        reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

        Stream stream = reqFTP.GetResponse().GetResponseStream();

        using (StreamReader sr = new StreamReader(stream))
        {
            string line = sr.ReadLine();

            while (!string.IsNullOrEmpty(line))
            {
                GroupCollection gc = regexName.Match(line).Groups;
                if (gc.Count != 1)
                {
                    throw new ApplicationException("FTP 返回的字串格式不正确");
                }

                string path = gc[0].Value;
                if (path == FolderName)
                {
                    return true;
                }

                line = sr.ReadLine();
            }
        }

        return false;

    }
}

23
2014
07

Asp.Net 对图片进行水印(水印logo或文字)

1、水印时,在图片右下角水印网站logo

PicMark wm = new PicMark();
wm.DrawedImagePath = HttpContext.Current.Server.MapPath("..\\Images\\") + "logo.jpg"; //需要水印添加的图片
wm.ModifyImagePath = newpath; //原始路径
wm.LucencyPercent = 20; //透明度 1-100之间
wm.OutPath = newpath; //输出路径
wm.DrawImage();  //对图片进行水印处理:添加到图片右下角

16
2014
07

Asp.Net中使用使用input的file类型进行图片上传(美化file控件)

html上传代码: 

   <div class="addPicture" style="position: relative; clear: both;">
        <div style="width: 300px; height: auto; float: left; margin-left: 0px; margin-top: 0px;
            display: none;" class="img_middle">
            <img src="" width="300px" alt="" />
        </div>
        <div style="width: 84px; text-align: center; margin-left: 106px; margin-top: 46px;
            *margin-left: 0px;" id="addImg" title="点击添加标题图">
            <div>
                <input type="button" id="Button1" value="" class="addimg" /></div>
            <div class="a">
                添加标题图</div>
        </div>
        <input id="upFile" name="upFile" type="file" title="" class="file_transparent" />
    </div>

04
2014
07

Asp.Net中使用ajaxFileUpload进行图片上传

 在开发中,经常会遇到需要上传图片的时候,可以使用已经有的上传插件ajaxFileUpload进行上传,点击某个按钮,将调用uploadImg方法,参数imgfileId是上传的file的input的ID

function uploadImg(imgfileId) {
    $.ajaxFileUpload({
        fileElementId: imgfileId,
        url: 'jqueryUpImg.ashx',
        data: {
            'name': "pro", //存储的文件名
            'width': "500,250,125", //需要切图的大小
            'height': "360,180,90"
        },
        dataType: 'json',
        success: function (data, textStatus) {

12
2014
01

Asp.net 上传大小不变图片使用缩放大小和拖动图片来改变图片位置的切图

参考头像截图,js、css文件可以网上下载

前台代码:

<!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 id="Head1" runat="server">
    <title>上传大小不变图片缩放的切图</title>
    <link href="Css/CutPhoto.css" type="text/css" rel="Stylesheet" />
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script src="JS/jquery.easydrag.js" type="text/javascript"></script>
    <script src="JS/CutPhoto.js" type="text/javascript"></script>
    <script type="text/javascript">
        function Step1() {
            $("#Step2Container").hide();
            $("#savephoto").hide();
        }
        function Step2() {
            $("#Step2Container").hide();
            $("#Step1Container").hide();
            $("#savephoto").show();
        }

19
2013
12

Asp.Net下GridView合并TemplateField模板列和BoundField绑定列方法

BoundField绑定列的合并

        /// <summary>
        /// 合并BoundField绑定列
        /// </summary>
        /// <param name="gv">需要合并GridView</param>
        /// <param name="cellNum">第几列</param>
        public void GroupRows(GridView gv, int cellNum)
        {
            int i = 0, rowSpanNum = 1;
            while (i < gv.Rows.Count - 1)
            {
                GridViewRow gvr = gv.Rows[i];
                for (++i; i < gv.Rows.Count; i++)
                {
                    GridViewRow gvrNext = gv.Rows[i];
                    if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
                    {
                        gvrNext.Cells[cellNum].Visible = false;
                        rowSpanNum++;
                    }
                    else
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                        rowSpanNum = 1;
                        break;
                    }
                    if (i == gv.Rows.Count - 1)
                    {
                        gvr.Cells[cellNum].RowSpan = rowSpanNum;
                    }
                }
            }
        }

10
2013
12

C#或Asp.Net实现Ftp各种操作(上传,下载,删除文件,创建目录,删除目录,获得文件列表)

C#或Asp.Net实现Ftp各种操作类:

using System;
using System.Data;
using System.Configuration;
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;