Datatable转换为List(用户权限验证)

来源:互联网 发布:手机淘宝怎么找客服 编辑:程序博客网 时间:2024/06/04 01:18

//将string转换为List<int>List<int> lookList = new List<int>(); //保存用户对应的可查看模块id  string modelIds = data.Tables[0].Rows[0][1].ToString();//1,2,3,4,5形式的string                    string[] lookModelIds = modelIds.Split(myChar);//char[] myChar = { ',' };                    for (int i = 0; i < lookModelIds.Length; i++)                    {                        if (!string.IsNullOrEmpty(lookModelIds[i]))                        {                            lookList.Add(Convert.ToInt32(lookModelIds[i]));                        }                    }HttpContext.Current.Session.Add(MODEL_LIST, lookList);//将用户对应的可查看模块id保存到session

用于验证登陆用户是否具有权限:

                /// <summary>/// 验证权限。/// </summary>/// <param name="level">权限级别</param>/// <param name="model">模块</param>/// <returns></returns>protected bool VerifyUserRight(CommonEnum.PermissionLevel level, CommonEnum.ModelType model){bool haveRight = false;if (level == CommonEnum.PermissionLevel.View){haveRight = LoginHelper.SessionUserModelList.Contains((int)model);//model为菜单id,}else if (level == CommonEnum.PermissionLevel.Edit){haveRight = LoginHelper.SessionAllowEditModelList.Contains((int)model);}return haveRight;}

SessionUserModelList实现如下:

<span style="white-space:pre"></span>/// <summary>        /// 获得登录用户可查看模块list        /// </summary>        public static List<int> SessionUserModelList        {            get            {                List<int> list = HttpContext.Current.Session[MODEL_LIST] as List<int>;                if (list == null)                {                    HttpContext.Current.Response.Redirect("/out.aspx");                }                return list;            }        }


//将datatable转换为List List<object> list = new List<object>();                foreach (DataRow dr in dt.Rows)//将datatable转换为List                {                    list.Add(new { id = dr["devicecode"].ToString(), name = dr["devicecode"].ToString() });                }


0 0
原创粉丝点击