/// <summary>  
	 /// 得到站点用户IP  
	 /// </summary>  
	 /// <returns></returns>  
	 public static string getUserIP()  
	 {  
	 return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();  
	 }  
	
	 /// <summary>  
	 /// 去除字符串最后一个','号  
	 /// </summary>  
	 /// <param name="chr">:要做处理的字符串</param>  
	 /// <returns>返回已处理的字符串</returns>  
	 public static string Lost(string chr)  
	 {  
	 if (chr == null || chr == string.Empty)  
	 {  
	 return "";  
	 }  
	 else  
	 {  
	 chr = chr.Remove(chr.LastIndexOf(","));  
	 return chr;  
	 }  
	 }  
	
	 /// <summary>  
	 /// 去除字符串第一个'/'号  
	 /// </summary>  
	 /// <param name="chr">要做处理的字符串</param>  
	 /// <returns>返回已处理的字符串</returns>  
	 public static string lostfirst(string chr)  
	 {  
	 string flg = "";  
	 if (chr != string.Empty || chr != null)  
	 {  
	 if (chr.Substring(0, 1) == "/")  
	 flg = chr.Replace(chr.Substring(0, 1), "");  
	 else  
	 flg = chr;  
	 }  
	 return flg;  
	 }  
	
	 /// <summary>  
	 /// 替换html中的特殊字符  
	 /// </summary>  
	 /// <param name="theString">需要进行替换的文本。</param>  
	 /// <returns>替换完的文本。</returns>  
	 public static string HtmlEncode(string theString)  
	 {  
	 theString = theString.Replace(">", ">");  
	 theString = theString.Replace("<", "<");  
	 theString = theString.Replace(" ", " ");  
	 theString = theString.Replace(" ", " ");  
	 theString = theString.Replace("\"", """);  
	 theString = theString.Replace("\'", "'");  
	 theString = theString.Replace("\n", "<br/> ");  
	 return theString;  
	 }  
	
	 /// <summary>  
	 /// 恢复html中的特殊字符  
	 /// </summary>  
	 /// <param name="theString">需要恢复的文本。</param>  
	 /// <returns>恢复好的文本。</returns>  
	 public static string HtmlDiscode(string theString)  
	 {  
	 theString = theString.Replace(">", ">");  
	 theString = theString.Replace("<", "<");  
	 theString = theString.Replace(" ", " ");  
	 theString = theString.Replace(" ", " ");  
	 theString = theString.Replace(""", "\"");  
	 theString = theString.Replace("'", "\'");  
	 theString = theString.Replace("<br/> ", "\n");  
	 return theString;  
	 }  
	
	
	
	 /// <summary>  
	 /// 生成随机数字  
	 /// </summary>  
	 /// <param name="length">生成长度</param>  
	 /// <returns></returns>  
	 public static string Number(int Length)  
	 {  
	 return Number(Length, false);  
	 }  
	
	 /// <summary>  
	 /// 生成随机数字  
	 /// </summary>  
	 /// <param name="Length">生成长度</param>  
	 /// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>  
	 /// <returns></returns>  
	 public static string Number(int Length, bool Sleep)  
	 {  
	 if (Sleep)  
	 System.Threading.Thread.Sleep(3);  
	 string result = "";  
	 System.Random random = new Random();  
	 for (int i = 0; i < Length; i++)  
	 {  
	 result += random.Next(10).ToString();  
	 }  
	 return result;  
	 }  
	
	 //弹出对话框  
	 public static void salert(string str)  
	 {  
	 HttpContext.Current.Response.Write("<script>alert('" + str + "');</script>");  
	 }  
	
	
	
	 /// <summary>  
	 /// 显示消息提示框,并回到前一页面  
	 /// </summary>  
	 /// <param name="page">当前页面指针,一般为this</param>  
	 /// <param name="strMsg">提示信息</param>  
	 public static void ShowGoHistory(System.Web.UI.Page page, string strMsg)  
	 {  
	 page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>alert('" + strMsg.ToString() + "');window.history.go(-1);</script>");  
	 }  
	
	 /// <summary>  
	 /// 显示消息提示对话框,并进行页面跳转  
	 /// </summary>  
	 /// <param name="page">当前页面指针,一般为this</param>  
	 /// <param name="strMsg">提示信息</param>  
	 /// <param name="url"> 跳转的目标URL</param>  
	 public static void ShowRedirect(System.Web.UI.Page page, string strMsg, string url)  
	 {  
	 StringBuilder Builder = new StringBuilder();  
	 Builder.Append("<script language='javascript' defer>");  
	 Builder.AppendFormat("alert('{0}');", strMsg);  
	 Builder.AppendFormat("top.location.href='{0}'", url);  
	 Builder.Append("</script>");  
	 page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());  
	 }  
	
	 //为了插入单引号  
	 public static string delSingle(string str)  
	 {  
	 return str.Replace("'", "''");  
	 }  
	
	 //由gridviw导出为Excel  
	 public static void ToExcel(System.Web.UI.Control ctl)  
	 {  
	 HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");  
	 HttpContext.Current.Response.Charset = "UTF-8";  
	 HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;  
	 HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword  
	 ctl.Page.EnableViewState = false;  
	 System.IO.StringWriter tw = new System.IO.StringWriter();  
	 System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);  
	 ctl.RenderControl(hw);  
	 HttpContext.Current.Response.Write(tw.ToString());  
	 HttpContext.Current.Response.End();  
	 }  
	
	 ///using System.Security.Cryptography;  
	 ///using System.Text;  
	 /// <summary>  
	 /// MD5函数  
	 /// </summary>  
	 /// <param name="str">原始字符串</param>  
	 /// <returns>MD5结果</returns>  
	 public static string MD5(string str)  
	 {  
	 byte[] b = Encoding.Default.GetBytes(str);  
	 b = new MD5CryptoServiceProvider().ComputeHash(b);  
	 string ret = "";  
	 for (int i = 0; i < b.Length; i++)  
	 ret += b[i].ToString("x").PadLeft(2, '0');  
	 return ret;  
	 }  
	
	
	 ///using System.Net;  
	 ///using System.IO;  
	 /// <summary>  
	 /// 根据Url获得源文件内容  
	 /// </summary>  
	 /// <param name="url">合法的Url地址</param>  
	 /// <returns></returns>  
	 public static string GetSourceTextByUrl(string url)  
	 {  
	 WebRequest request = WebRequest.Create(url);  
	 request.Timeout = 20000;//20秒超时  
	 WebResponse response = request.GetResponse();  
	
	 Stream resStream = response.GetResponseStream();  
	 StreamReader sr = new StreamReader(resStream);  
	 return sr.ReadToEnd();  
	 }