Asp.net 中使用BasePage.cs的例子


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using NetCMS.Config;
using NetCMS.Model;
using NetCMS.Content;

namespace NetCMS.Web.UI
{
    public class BasePage : System.Web.UI.Page
    {
        protected readonly int PAGESIZE = Config.UIConfig.GetPageSize();
        protected internal UserLogin _UserLogin;
        protected internal string CopyRight = "(c)2008 AspxCMS Inc. By " + NetCMS.Config.verConfig.Productversion + "";
        protected void AddStyleSheet(Page page, string cssPath)
        {
            HtmlLink link = new HtmlLink();
            link.Href = cssPath;
            link.Attributes["rel"] = "stylesheet";
            link.Attributes["type"] = "text/css";
        }
        public BasePage()
        {
            _UserLogin = new UserLogin();
        }
        protected void PageRight(string RightMsg, string Url)
        {
            PageRight(RightMsg, Url, false);
        }

        protected void PageRight(string ErrMsg, string Url, bool RetrunUrl)
        {
            WebHint.ShowRight(ErrMsg, Url, RetrunUrl);
        }

        protected void PageError(string ErrMsg, string Url)
        {
            PageError(ErrMsg, Url, false);
        }

        protected void PageError(string ErrMsg, string Url, bool RetrunUrl)
        {
            WebHint.ShowError(ErrMsg, Url, RetrunUrl);
        }

        /// 
        /// 退出
        /// 

        protected virtual void Logout()
        {
            Context.Session.Remove("SITEINFO");
        }
        /// 
        /// 执行一个JS语句
        /// 

        /// 要执行的语句
        protected void ExecuteJs(string sentence)
        {
            Context.Response.Write("");
            Context.Response.Write(sentence);
            Context.Response.Write("");
        }
        /// 
        /// 检查用户信息会话是否超时
        /// 

        /// 
        protected bool Validate_Session()
        {
            return !NetCMS.Global.Current.IsTimeout();
        }
        protected void LoginResultShow(EnumLoginState state)
        {
            LoginResultShow(state, false);
        }
        protected void LoginResultShow(EnumLoginState state, bool isAjax)
        {
            string ErrorMsg = string.Empty;
            int isAdminReturn = 0;
            switch (state)
            {
                case EnumLoginState.Err_IPLimited:
                    ErrorMsg = "您IP[" + NetCMS.Common.Public.getUserIP() + "]被限制,不能登陆!";
                    isAdminReturn = 2;
                    break;
                case EnumLoginState.Err_Locked:
                    ErrorMsg = "您已经被锁定!";
                    isAdminReturn = 2;
                    break;
                case EnumLoginState.Err_UnEmail:
                    ErrorMsg = "您还没通过电子邮件激活,不能登陆本系统!";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_AdminTimeOut:
                    ErrorMsg = "会话过期,请重新登陆";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_UserTimeOut:
                    ErrorMsg = "会话过期,请重新登陆";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_UnMobile:
                    ErrorMsg = "您还没通过手机验证,不能登陆本系统!
  • 点击此处验证您的手机
  • ";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_UnCert:
                        ErrorMsg = "alert('您还没认证资料!\\n点 [确定] 进行实名认证。');location.href='" + (UIConfig.dirDumm.Equals(string.Empty) ? "" : (UIConfig.dirDumm + "/")) + UIConfig.dirUser + "/info/userinfo_idcard.aspx?type=CreatCert\';";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_NoAuthority:
                        ErrorMsg = "您没有此项的操作权限!";
                        isAdminReturn = 1;
                        break;
                    case EnumLoginState.Err_AdminLocked:
                        ErrorMsg = "您已被锁定";
                        isAdminReturn = 1;
                        break;
                    case EnumLoginState.Err_DbException:
                        ErrorMsg = "系统错误。
  • 出错原因:
  • 与数据库服务器的通信失败。
  • 数据库连接字符串不正确。
  • 数据库发生异常。
  • ";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_UserNumInexistent:
                        ErrorMsg = "用户不存在";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_AdminNumInexistent:
                        ErrorMsg = "权限不足!";
                        isAdminReturn = 1;
                        break;
                    case EnumLoginState.Err_DurativeLogError:
                        ErrorMsg = "连续错误登陆,您已经被锁定,请" + _UserLogin.GetLoginSpan() + "分钟后再登录!";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_AdminNameOrPwdError:
                        ErrorMsg = "用户名不存在或者密码错误";
                        isAdminReturn = 1;
                        break;
                    case EnumLoginState.Err_UserNameOrPwdError:
                        ErrorMsg = "用户名不存在或者密码错误";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_GroupExpire:
                        ErrorMsg = "您的帐号已过期";
                        isAdminReturn = 0;
                        break;
                    case EnumLoginState.Err_NotAdmin:
                        ErrorMsg = "抱歉,您不是管理员。您的操作已经记录!
  • 您的IP:[" + NetCMS.Common.Public.getUserIP() + "]已被记录
  • ";
                        isAdminReturn = 1;
                        break;
                    case EnumLoginState.Succeed:
                        return;
                    default:
                        ErrorMsg = "异常错误:" + state.ToString();
                        isAdminReturn = 0;
                        break;
                }
                string dimm = NetCMS.Config.UIConfig.dirDumm.Trim();
                if (dimm != string.Empty)
                {
                    dimm = "/" + dimm;
                }
                string ReturnUrl = string.Empty;
                switch (isAdminReturn)
                {
                    case 0:
                        ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirUser + "/login.aspx";
                        break;
                    case 1:
                        if (state == EnumLoginState.Err_NoAuthority)
                        {
                            ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirMana + "/main.aspx";
                        }
                        else
                        {
                            ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirMana + "/login.aspx";
                        }
                        break;
                    default:
                        ReturnUrl = dimm + "/";
                        break;
                }
                if (isAjax)
                    throw new Exception(ErrorMsg);
                else
                    PageError(ErrorMsg, ReturnUrl, true);
            }
            protected void CheckUserLogin()
            {
                if (!Validate_Session())
                    LoginResultShow(EnumLoginState.Err_UserTimeOut);
                else
                    LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, false));
            }
            protected void CheckUserLoginCert()
            {
                if (!Validate_Session())
                    LoginResultShow(EnumLoginState.Err_UserTimeOut);
                else
                    LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, true));
            }
            protected void CheckAdminLogin()
            {
                if (!Validate_Session())
                    LoginResultShow(EnumLoginState.Err_AdminTimeOut);
                else
                    LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, true));
            }
            /// 
            /// 检查普通会员登录状态
            /// 

            /// 
            /// 
            /// 
            /// 
            private EnumLoginState CheckUserLogin(string UserNum, bool IsCert)
            {
                return _UserLogin.CheckUserLogin(UserNum, IsCert);
            }
            /// 
            /// 检查管理员登录状态
            /// 

            /// 
            /// 
            /// 
            private EnumLoginState CheckAdminLogin(string UserNum)
            {
                return _UserLogin.CheckAdminLogin(UserNum);
            }
           /// 
           /// 用户登录
           /// 

           /// 
           /// 
           /// 
           /// 
           /// 
            protected EnumLoginState Login(string UserName,string Password,out GlobalUserInfo info, bool IsAdmin)
            {
                if (IsAdmin)
                    return _UserLogin.AdminLogin(UserName, Password, out info);
                else
                    return _UserLogin.PersonLogin(UserName, Password, out info);
                    
            }
           /// 
            /// 个人用户登录
           /// 

           /// 
           /// 
           /// 
           /// 
            protected EnumLoginState Login(string UserName, string Password, out GlobalUserInfo info)
            {
                    return _UserLogin.PersonLogin(UserName, Password, out info);
            }
            /// 
            /// 个人用户登录
            /// 

            /// 
            /// 
            protected void Login(string UserName, string Password)
            {
                GlobalUserInfo info;
                EnumLoginState state = _UserLogin.PersonLogin(UserName, Password, out info);
                if (state == EnumLoginState.Succeed)
                    Global.Current.Set(info);
                else
                    LoginResultShow(state);
            }

            /// 
            /// 个人用户登录
            /// 

            /// 
            /// 
            protected void AjaxLogin(string UserName, string Password)
            {
                GlobalUserInfo info;
                EnumLoginState state = _UserLogin.PersonLogin(UserName, Password, out info);
                if (state == EnumLoginState.Succeed)
                    Global.Current.Set(info);
                else
                    LoginResultShow(state, true);
            }

        }
    }

     

     

     


    请使用浏览器的分享功能分享到微信等