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

📄 commhandler.cs

📁 人力资源管理系统 读者须安装好IIS和Microsoft Visual Stutio.NET相关开发环境
💻 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 ;
using HRAdmin.DAL ;

namespace HRAdmin.COMMON
{
	/// <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

		#region 下拉框相关方法
//		/// <summary>
//		/// 
//		/// </summary>
//		/// <param name="ddl"></param>
//		/// <param name="table"></param>
//		/// <param name="id"></param>
//		/// <param name="text"></param>
//		/// <param name="emptyLine"></param>
//		public static void DDL_Init_Other(DropDownList ddl,string table,string id,string text,bool emptyLine)
//		{
//			string spName = "HR_Value_InitDDL" ;
//			object[] para = new object[] {valuetype} ;
//
//			//调用SQL文初始化下拉框方法
//			DDL_Init(ddl,spName,para,emptyLine) ;
//		}

		/// <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,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 ;
		}

		#endregion

		#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+"');");
		}

		/// <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:no;status:no;help:no' ;
					
				var ret=window.showModalDialog(
					'Frame.aspx?url=" +  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:no;status:no;help:no' ;
					
				var ret=window.showModalDialog(
					'Frame.aspx?url=" +  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 + -