📄 questionnaire.aspx.cs
字号:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections.Generic;
using Shop.Web.UI;
//////////////////////////////////////////////////////////////////////////////////////////////
////角色权限设置 ////
////采用XML作为数据源, ////
////难点,角色信息的初始化,更新(事务) ////
////脚本方面:要实现选父节点的选择和取消要反应在子孙节点上,子节点同样要反应在祖先节点上 ////
//////////////////////////////////////////////////////////////////////////////////////////////
namespace YXShop.Web.Admin.Consumer
{
public partial class Questionnaire : System.Web.UI.Page
{
public static bool statebl = true;//特殊权限关闭
public static bool ispower = false;//添加
public static int RoleID = 0;
BasePage bp = null;
YXShop.BLL.Roles_Permissions bll = new YXShop.BLL.Roles_Permissions();
protected void Page_Load(object sender, EventArgs e)
{
if (!PowerTree.PowerPass.isPass("007003000", PowerTree.PowerPanel.PowerType.look))
{
bp = new BasePage();
bp.PageError("对不起,你没有查看此页面的权限!", "../index.aspx");
}
if ((!IsPostBack) || ((Request["Event"] != null) && (Request["Event"] != "")))
{
//初始化信息(订单信息,银行信息,支付信息)
if (YXShop.Common.WebUtility.isNumeric(Request.QueryString["Pro_ID"]))
{
RoleID = int.Parse(Request.QueryString["Pro_ID"]);
}
else
{
Response.Redirect("../index.aspx", true);
}
}
}
//初始化权限设置
private void InitPowers(int RoleID)
{
List<YXShop.Model.Roles_Permissions> list = bll.GetListByColumn("RoleID", RoleID);
if (list != null)
{
if (list.Count > 0)
ispower = true;
foreach (ListItem lItem in CheckBoxList1.Items)
{
lItem.Selected = false;
}
bool bl = false;
if (list.Count == 1)
{
Type type = typeof(PowerTree.PowerPanel.PowerType);
string name = Enum.GetName(type, list[0].OperateCode);
switch (name)
{
case "look":
CheckBoxList1.Items[0].Selected = true;
bl = true;
break;
case "add":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[1].Selected = true;
bl = true;
break;
case "update":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[2].Selected = true;
bl = true;
break;
case "del":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[3].Selected = true;
bl = true;
break;
case "deladd":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[1].Selected = true;
CheckBoxList1.Items[3].Selected = true;
bl = true;
break;
case "delupdate":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[2].Selected = true;
CheckBoxList1.Items[3].Selected = true;
bl = true;
break;
case "updateadd":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[1].Selected = true;
CheckBoxList1.Items[2].Selected = true;
bl = true;
break;
case "all":
CheckBoxList1.Items[0].Selected = true;
CheckBoxList1.Items[1].Selected = true;
CheckBoxList1.Items[2].Selected = true;
CheckBoxList1.Items[3].Selected = true;
bl = true;
break;
}
}
if (bl)
{
TreeView1.Enabled = false;
}
else
{
if (list.Count > 0)
{
foreach (TreeNode tNode in TreeView1.Nodes)
{
InitChildPowers(tNode, ref list);
}
}
}
}
}
//初始化限设置
private void InitChildPowers(TreeNode tNode, ref List<YXShop.Model.Roles_Permissions> list)
{
int nodeValue = 0;
if (YXShop.Common.WebUtility.isNumeric(tNode.Value))//防止xml输入错误数据引起的错误、、处理方式:跳过错误数据的处理
{
if (list == null)
return;
else if (list.Count < 1)
return;
nodeValue = int.Parse(tNode.Value);
bool bl = false;//转移操作
foreach (YXShop.Model.Roles_Permissions rModel in list)
{
if (nodeValue == rModel.OperateCode)
{
tNode.Checked = true;
tNode.Expanded = true;
if (list.Remove(rModel))
{
bl = true;
break;
}
}
}
if (bl)
{
foreach (TreeNode node in tNode.ChildNodes)
{
InitChildPowers(node, ref list);//递归
}
}
}
}
private void UpdatePowers(List<YXShop.Model.Roles_Permissions> newList, List<YXShop.Model.Roles_Permissions> oldList)
{
//分析要删除的权限信息,分析要增加的信息:数据库已有信息和当前得到的信息的比较
List<YXShop.Model.Roles_Permissions> AddList = new List<YXShop.Model.Roles_Permissions>();
bool bl = true;
foreach (YXShop.Model.Roles_Permissions nrModel in newList)
{
bl = true;
foreach (YXShop.Model.Roles_Permissions orModel in oldList)
{
if (orModel.OperateCode == nrModel.OperateCode)
{
bl = false;
oldList.Remove(orModel);
break;
}
}
if (bl)
{
AddList.Add(nrModel);
}
}
try
{
if (oldList.Count > 0)
{
bll.Del(oldList);
}
bll.Add(AddList);
}
catch
{ }
}
private void AddPowers(int RoleID)
{
TreeNode tn = new TreeNode();
List<YXShop.Model.Roles_Permissions> list = new List<YXShop.Model.Roles_Permissions>();
YXShop.Model.Roles_Permissions rModel = null;
foreach (TreeNode tNode in TreeView1.CheckedNodes)
{
rModel = new YXShop.Model.Roles_Permissions();
rModel.RoleID = RoleID;
if (YXShop.Common.WebUtility.isNumeric(tNode.Value))
{
rModel.OperateCode = int.Parse(tNode.Value);
}
else
{
continue;
}
list.Add(rModel);
rModel = null;
}
bll.Add(list);
}
private List<YXShop.Model.Roles_Permissions> GetNewList(int RoleID)
{
List<YXShop.Model.Roles_Permissions> list = new List<YXShop.Model.Roles_Permissions>();
YXShop.Model.Roles_Permissions rModel = null;
foreach (TreeNode tNode in TreeView1.CheckedNodes)
{
rModel = new YXShop.Model.Roles_Permissions();
rModel.RoleID = RoleID;
if (YXShop.Common.WebUtility.isNumeric(tNode.Value))
{
rModel.OperateCode = int.Parse(tNode.Value);
}
else
{
continue;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -