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

📄 pagebase.cs

📁 某个公司需要维持良好的客户关系
💻 CS
字号:
using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CRM.BLL;
using CRM.Model;
namespace CRM.Web.Utility
{
	/// <summary>
	/// PageBase 的摘要说明。
	/// </summary>
	public class PageBase : System.Web.UI.Page
	{
		#region 接收参数
		public Parameter GetRequestParm()
		{
			Parameter parms=new Parameter();
			parms.Template=Request["t"];
			parms.UserControl=Request["u"];
			parms.SubUserControl = Request["sub"];
			parms.Action=Request["action"];
			parms.FuncId =Request["funcid"];
			parms.ClassId=Request["classid"];
			parms.ItemId=Request["itemid"];
			return parms;
		}
		#endregion

		#region 用户登陆检测
		public  void LoginCheck(string username , string userpwd)
		{
			try
			{
				if (username!="" && userpwd!="")
				{
					CRM.Model.SysUserInfo userinfo = BLL.SysUser.UserLoginCheck(username,userpwd);
					if (userinfo.UserId != null)
					{
						base.Session["pass"]="yes";
						base.Session["userinfo"] = userinfo;//取得用户信息
						base.Session["action"] = null;
						base.Session["u"] = null;
						this.WirteSysLog(null,"用户登陆","1","系统用户后台登陆");
						Response.Write("<script language=javascript>alert('恭喜您,登陆成功!');window.location.href='Default.aspx';</script>");//登陆成功转到管理页面
					}
					else
					{
						base.Session["pass"]=null;
						this.WirteSysLog(null,"用户登陆","0","系统用户后台登陆");
						Response.Redirect("Result.aspx");
					}
				}
			}
			catch
			{}
		}
		#endregion

		#region 用户页面检测
		public  void UserCheck()
		{
			if (base.Session["pass"]==null)
			{
				Response.Write("<script language=javascript>alert('对不起,您还没有登陆!');window.location.href='Login.aspx';</script>");
			}
		}
		#endregion

		#region 用户操作日志记录
		/// <summary>
		/// 
		/// </summary>
		/// <param name="u">控件id</param>
		/// <param name="option">操作代码</param>
		/// <param name="state">操作状态</param>
		/// <param name="BZ">操作注释</param>
		/// 操作完成后记录
		/// 操作状态用来记录 成功,失败 ,异常等情况
		public void WirteSysLog(string u, string option ,string state, string BZ)
		{
			try
			{
				SysLogInfo newlog= new SysLogInfo();
				if (Session["userinfo"] != null)
				{
					newlog.UserId = ((SysUserInfo)Session["userinfo"]).UserId;
					newlog.HostIP = System.Web.HttpContext.Current.Request.UserHostAddress;
					newlog.HostName = System.Web.HttpContext.Current.Request.UserHostName;
					newlog.FuncId = u;
					newlog.OptState = state;
					newlog.BZ = BZ;
					BLL.SysLog.Insert(newlog);
				}
			}
			catch
			{}
		}
		#endregion

		#region 初始化左侧功能树
		public  StringBuilder InitFuncTree()
		{
			StringBuilder builder1 = new StringBuilder();
			LoadTree(ref builder1,BLL.SysUser.GetUserFuncById(((SysUserInfo)Session["userinfo"]).UserId),null,2);//传引用
			return builder1;
		}
	
		private  void LoadTree(ref StringBuilder builder1,DataTable table1,string prefix,int length)
		{
			bool havechild;
			System.Data.DataRow[] funcRows=null;
			if (prefix != null)
			{funcRows = table1.Select(String.Format("FuncId LIKE '{0}%' AND LEN(TRIM(FuncId))={1}",prefix,length));}
			else
			{funcRows = table1.Select(String.Format("LEN(TRIM(FuncId))={0}",length));}
			if (funcRows.Length > 0)
			{
				builder1.Append("<ul>");
				//如果funcRows[]中无元素,则不进入下面得foreach()
				foreach( System.Data.DataRow funcRow in funcRows )
				{
					if (HaveChildNode(table1,funcRow["FuncId"].ToString().Trim(),length+2) == true)//是否含有子节点
					{havechild=true;}
					else
					{havechild=false;}
					builder1.Append("<li class='");//初始时候为折叠
					if (havechild==false)//如果不含有子节点
					{
						builder1.Append("Child'>");
					}
					else
					{
						builder1.Append("Closed'>");
					}
					if (havechild==false)//如果不含有子节点
					{
						builder1.Append("<a href='Default_Right.aspx?u=");
						builder1.Append(funcRow["FuncId"].ToString().Trim());
						builder1.Append("' target='right'>");
					}
					builder1.Append(funcRow["FuncName"].ToString().Trim());
					if (havechild==false)//如果不含有子节点
					{
						builder1.Append("</a>");
					}
					LoadTree(ref builder1,table1,funcRow["FuncId"].ToString().Trim(),length+2);
					builder1.Append("</li>");
				}
				builder1.Append("</ul>");
			}
		}
		#endregion

		#region 取得右侧页面控件地址
		public  string  GetRightPagePath(Parameter parms)
		{	
			if (parms.UserControl != null && parms.UserControl != "")
			{
				base.Session["u"]=parms.UserControl;
				if ( parms.Action != null && parms.Action != "")
				{
					base.Session["action"] = parms.Action;
					//如果是删除,升序,降序,搜索操作,则直接返回原页面处理,并用base.Session["action"]存储操作状态
					if (parms.Action == "Delete" || parms.Action == "Pass" || parms.Action == "Default" || parms.Action == "UpSort"  || parms.Action == "DownSort")
					{return GetIndexUserControlPath(parms.UserControl);}
					
					return 	GetActionUserControlPath(parms.UserControl,parms.Action);
				}
				return GetIndexUserControlPath(parms.UserControl);
			}
			else
			{
				if ( base.Session["u"] != null )
				{
					if ( base.Session["action"] != null)
					{
						if (base.Session["action"].ToString() == "Delete" || parms.Action == "Pass" || parms.Action == "Default"  || base.Session["action"].ToString() == "UpSort"  || base.Session["action"].ToString() == "DownSort")
						
						{return GetIndexUserControlPath( base.Session["u"].ToString() );}
						
						return GetActionUserControlPath(base.Session["u"].ToString() ,base.Session["action"].ToString());
					}
					return GetIndexUserControlPath(base.Session["u"].ToString());
					
				}
				return "Controls/Default.ascx";
			}
		}
		#endregion

		#region 获取用户操作对应控件路径
		public  string GetActionUserControlPath(string father,string action)
		{
			try
			{
				return BLL.SysFunc.GetActionUserControlPath(father,action).Trim();
			}
			catch
			{
				return null;
			}
		}
		#endregion 

		#region  获取控件参数对应的控件路径
		/// <summary>
		/// 
		/// </summary>
		/// <param name="indexControlId"></param>
		/// <returns></returns>
		public  string GetIndexUserControlPath(string indexControlId)
		{   
			try
			{
				return ((SysFuncInfo)BLL.SysFunc.GetSysFuncById(indexControlId)).Path.Trim();	
			}
			catch
			{return null;}
		}
		#endregion

		#region 判断链接
		public  bool LinkCheck(string pagepath)
		{
			if ( pagepath != null && pagepath != string.Empty && pagepath.EndsWith(".aspx")==true )
			{return true;}
			else
			{return false;}
		}
		#endregion
	
		#region 判断该节点是否含子节点
		public   bool HaveChildNode(DataTable table1, string prefix, int length)
		{
			//如果有则返回真
			if (table1.Select(String.Format("FuncId LIKE '{0}%' AND LEN(TRIM(FuncId))={1}",prefix,length) , "FuncId").Length>0)
			{
				return true;
			}
			return false;
			
		}
		#endregion
	}
}

⌨️ 快捷键说明

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