📄 pagebase.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 + -