⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commhandler.cs

📁 在线 图书网上购物系统
💻 CS
字号:
using System;
using System.Data;
using System.Web;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions ;
//该源码下载自www.51aspx.com(51aspx.com)

using AjaxControlToolkit;


	/// <summary>
	/// CommHandler类包含本解决方案通用的方法 
	/// </summary>
	public class CommHandler
	{
		
		#region 字符串转换方法

		/// <summary>
		/// 从前台获取的带空格字符串的处理
		/// </summary>
		/// <param name="s">待处理字符串</param>
		/// <returns>处理后的字符串</returns>
		public static string FormatNullString(string s)
		{
			s=s.Replace("&nbsp;"," ");
			return s.Trim();
		}

		/// <summary>
		/// 将字符串转换为整数
		/// </summary>
		/// <param name="str">待转换的字符串</param>
		/// <returns>转换后的整数</returns>
		public static int StringToInt(string str)
		{
			int ret = 0 ;
			try
			{
				ret = int.Parse(str) ;
			}
			catch
			{
			}

			return ret ;
		}

		/// <summary>
		/// 将字符串转换为浮点数
		/// </summary>
		/// <param name="str">待转换的字符串</param>
		/// <returns>转换后的浮点数</returns>
		public static double StringToDouble(string str)
		{
			double ret = 0.0 ;

			try
			{
				ret = double.Parse(str) ;
			}
			catch
			{}

			return ret ;
		}

		/// <summary>
		/// 将字符串转换为日期格式
		/// </summary>
		/// <param name="val">待转换的字符串</param>
		/// <returns>转换后的日期</returns>
		public static DateTime StringToDateTime(string val)
		{
			//若字符串为空,返回最小日期
			if(val==string.Empty||val==null)
				return System.DateTime.MinValue;

			try
			{
				System.DateTime dt=System.DateTime.Parse(val);
				return dt;
			}
			catch
			{
				return System.DateTime.MinValue;
			}
		}

		public static string Today()
		{
			return DateTimeToString(System.DateTime.Today) ;
		}

		public static string DateTimeToString(DateTime d)
		{
			string ret = "" ;
			
			try
			{
				ret = d.ToString("yyyy-MM-dd") ;
			}
			catch
			{}

			if(ret == "0001-01-01")
			{
				ret = "" ;
			}

			return ret ;
		}


		#endregion

        
		
		

		/// <summary>
		/// 用VALUEID初始化下拉框
		/// </summary>
		/// <param name="ddl">下拉框ID</param>
		/// <param name="valuetype">VALUETYPE</param>
		/// <param name="emptyLine">是否包含空行</param>
		public static void DDL_Init(DropDownList ddl,string valuetype,bool emptyLine)
		{
			//从HR_Value表中读取对应VALUETYPE的记录的存储过程
			string spName = "HR_Value_InitDDL" ;
			//存储过程参数
			object[] para = new object[] {valuetype} ;

			//调用SQL文初始化下拉框方法
			DDL_Init(ddl,spName,para,emptyLine) ;
		}

		/// <summary>
		/// 从存储过程加载下拉框
		/// </summary>
		/// <param name="ddl"></param>
		/// <param name="spName"></param>
		/// <param name="para"></param>
		/// <param name="emptyLine"></param>
		public static void DDL_Init(DropDownList ddl,string spName,object[] para,bool emptyLine)
		{
			//通过存储过程查询数据
			DataTable dt = DataAccess.ExecuteDataTable(spName,emptyLine,para) ;	

			//查询结果为空
			if(dt == null)
			{
				return ;
			}

			//在首行添加空行
			if (emptyLine )
			{
				DataRow dr=dt.NewRow();
				dr["VALUETEXT"]="";
				dr["VALUEID"]="";
				dt.Rows.InsertAt(dr,0);
			}

			//为下拉框绑定数据源
			ddl.DataSource=dt;
			ddl.DataTextField="VALUETEXT";
			ddl.DataValueField="VALUEID";
			ddl.DataBind();
		}

		/// <summary>
		/// 显示下拉框指定的行
		/// </summary>
		/// <param name="ddl">下拉框ID</param>
		/// <param name="val">要显示的值</param>
		public static void DDL_ShowItem(DropDownList ddl,string val)
		{
			//若下拉框当前有选中行,清除
			if(ddl.SelectedItem!=null)
			{
				ddl.SelectedItem.Selected=false;
			}

			for(int i=0;i<ddl.Items.Count;i++)
			{
				ListItem li=ddl.Items[i];
				//找到下拉选项中,value等于给定值的
				if(li.Value==val)
				{
					//将该选项置为选中状态
					li.Selected=true;
					break;
				}
			}
		}

		/// <summary>
		/// 通过下拉框将静态数据的Value翻译成Text
		/// </summary>
		/// <param name="ddl">下拉框</param>
		/// <param name="val">待翻译的Value</param>
		/// <returns>返回Text</returns>
		public static string DDL_ValueToText(DropDownList ddl,string val)
		{
			string ret = "" ;

			for(int i=0;i<ddl.Items.Count;i++)
			{
				ListItem li = ddl.Items[i] ;
				//从下拉框所有选项中找到Value等于给定值的
				if(li.Value == val)
				{
					//获取符合条件的选项的Text
					ret = li.Text ;
					break ;
				}
			}

			return ret ;
		}
        
	
        
		#region 执行前台脚本相关

		/// <summary>
		/// 整个页面重定向到指定的URL
		/// </summary>
		/// <param name="pg">页面</param>
		/// <param name="url">URL</param>
		public static void ReDirURL(System.Web.UI.Page pg,string url)
		{
			string cmd="<script for=document event=onreadystatechange language=javascript>\n"
				+ "top.main.window.location='"
				+ url
				+ "'</script> " ;
			pg.Response.Write(cmd);
		}

		/// <summary>
		/// 页面重定向到登录页
		/// </summary>
		/// <param name="pg">页面</param>
		public static void ReDirURL(System.Web.UI.Page pg)
		{
			string url = "Login.aspx" ;
			ReDirURL(pg,url) ;
		}

		/// <summary>
		/// 为按钮添加确认信息
		/// </summary>
		/// <param name="btn">按钮</param>
		/// <param name="msg">确认信息内容</param>
		public static void AddConfirm(Button btn,string msg)
		{
			//为按钮添加确认信息
			btn.Attributes.Add("onclick","return confirm('"+msg+"');");
		}

        public static string ReplaceString(string msg)
        {
            //由于前后台处理特殊字符的方式不一致,需要转换

            //处理\\
            string p = @"(\\)";
            Regex r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\\\");

            //处理\n
            p = @"(\n)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\n");

            //处理\t
            p = @"(\t)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\t");

            //处理\r
            p = @"(\r)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\r");

            ////处理\\[和\\\
            msg = msg.Replace("'", "\\[");
            msg = msg.Replace("\"", "\\\"");
            return msg;
        }

        /// <summary>
        /// 弹出提示框
        /// </summary>
        /// <param name="pg">页面</param>
        /// <param name="msg">提示信息</param>
        public static void Alert(Page pg,UpdatePanel upl, string scriptname,string msg)
        {
            //由于前后台处理特殊字符的方式不一致,需要转换

            //处理\\
            string p = @"(\\)";
            Regex r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\\\");

            //处理\n
            p = @"(\n)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\n");

            //处理\t
            p = @"(\t)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\t");

            //处理\r
            p = @"(\r)";
            r = new Regex(p, RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.RightToLeft);
            msg = r.Replace(msg, "\\r");

            ////处理\\[和\\\
            msg = msg.Replace("'", "\\[");
            msg = msg.Replace("\"", "\\\"");

            //要向前台输出的提示命令
            string cmd = "<script language=javascript for=document event=onreadystatechange>"
                + "alert('"
                + msg + "');"
                + "</script>";

            //输出前台脚本
            pg.Response.Write(cmd);

            ScriptManager.RegisterStartupScript(upl,typeof(UpdatePanel),scriptname,"alert(" + msg + ")",true);


        }	

		/// <summary>
		/// 弹出提示框
		/// </summary>
		/// <param name="pg">页面</param>
		/// <param name="msg">提示信息</param>
		public static void Alert(Page pg,string msg)
		{
			//由于前后台处理特殊字符的方式不一致,需要转换

			//处理\\
			string p=@"(\\)";
			Regex r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
			msg=r.Replace(msg,"\\\\");

			//处理\n
			p=@"(\n)";
			r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
			msg=r.Replace(msg,"\\n");

			//处理\t
			p=@"(\t)";
			r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
			msg=r.Replace(msg,"\\t");

			//处理\r
			p=@"(\r)";
			r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
			msg=r.Replace(msg,"\\r");

			////处理\\[和\\\
			msg=msg.Replace("'","\\[");
			msg=msg.Replace("\"","\\\"");

			//要向前台输出的提示命令
			string cmd = "<script language=javascript for=document event=onreadystatechange>" 
				+ "alert('"
				+ msg+"');"
				+ "</script>" ;

			//输出前台脚本
			pg.Response.Write(cmd) ;
            
            
		}		

		/// <summary>
		/// 用IFRAME方式弹出模态对话框
		/// </summary>
		/// <param name="pg">页面</param>
		/// <param name="url">弹出页面的URL</param>
		public static void IFrame_PopUp(Page pg,string url)
		{			
			string	cmd= @"<script language=javascript for=window event=onload>
				var w=screen.width;
				var h=screen.height;
				var iw=parseInt(w*0.7);
				var ih=parseInt(h*0.5);
				
				var style='dialogWidth:' + iw + 'px;dialogHeight:' +ih +'px;center:yes;scroll:yes;status:no;help:no' ;
					
				var ret=window.showModalDialog(
					'" +  pg.Server.UrlEncode(url) + 
				@"',window,style);
				if((ret)&&(ret!=''))
				{
					window.location=ret;
				}</script>";
			
			pg.RegisterClientScriptBlock("pop",cmd) ;
		}

		/// <summary>
		/// 用IFRAME方式弹出模态对话框,指定对话框大小
		/// </summary>
		/// <param name="Page">页面</param>
		/// <param name="url">弹出页面的URL</param>
		/// <param name="width">对话框宽度</param>
		/// <param name="height">对话框高度</param>
		public static void IFrame_PopUp(Page pg,string url, string width,string height)
		{
            string cmd = @"<script language=javascript for=window event=onload>
            				var iw=" + width + @";
            				var ih=" + height + @";
            				
            				var style='dialogWidth:' + iw + 'px;dialogHeight:' +ih +'px;center:yes;scroll:yes;status:no;help:no' ;
            					
            				var ret=window.showModalDialog(
            					'" + pg.Server.UrlEncode(url) +  @"',window,style);
            				
            				if((ret)&&(ret!=''))
            				{
            					window.location=ret;
            				}</script>";

            pg.RegisterClientScriptBlock("pop", cmd);

      
		}
			
		/// <summary>
		/// 需返回到后台的确认框
		/// </summary>
		/// <param name="pg">页面</param>
		/// <param name="msg">确认信息</param>
		/// <param name="CtlID">接收确认返回值的后台文本框ID</param>
		public static void ConfirmReturnServer(Page pg,string msg,string textbox)
		{
			string cmd = "var val=confirm('" + msg + "');" 
				+ "var txt=document.getElementById('" + textbox + "');" 
				+ "txt.value=val;" 
				+ "__doPostBack('" + textbox + "','')" ;
			cmd = "<script>" + cmd + "</script>" ;
			pg.RegisterStartupScript("con",cmd) ;				
		}		

		#endregion

		/// <summary>
		/// 文本框设置为只读
		/// </summary>
		/// <param name="tb">文本框</param>
		/// <param name="flag">true:只读</param>
		public static void TextBoxReadOnly(TextBox tb,bool flag)
		{
			if(flag)
			{
				tb.ReadOnly = true ;
				tb.BackColor = Color.Gray ;
			}
			else
			{
				tb.ReadOnly = false ;
				tb.BackColor = Color.White ;
			}
		}

		public static void BindGrid(DataGrid dg,DataTable dt)
		{
			if(dt == null)
				dt = new DataTable() ;
			
			dg.DataSource = dt ;
			dg.DataBind() ;
		}
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -