📄 role_add_ctrl.ascx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Sovo.OA.BLL;
using Sovo.OA.BLL.Utils;
using Sovo.OA.Model;
using System.Collections.Generic;
public partial class Admin_System_Controls_role_add_ctrl : System.Web.UI.UserControl
{
List<Module> listModule = null;
List<String> listModuleID = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//填充TreeView
ModuleBLL aMBLL = new ModuleBLL();
listModule = aMBLL.getAllModules();
//创建根节点
TreeNode rootNode = new TreeNode();
rootNode.Expanded = true;
rootNode.Text = "OA系统后台管理权限";
rootNode.Value = "100";
rootNode.ShowCheckBox = false;
TreeView1.Nodes.Add(rootNode);
CreateTree("100", rootNode);
TreeView1.Attributes.Add("OnClick", "OnTreeNodeChecked()");
}
}
private void CreateTree(String parentID, TreeNode rootNode)
{
List<Module> listSubModule = getSubModuleByParentID(parentID);
foreach (Module aModule in listSubModule)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = aModule.ModuleName;
treeNode.ShowCheckBox = true;
treeNode.Expanded = true;
treeNode.Value = aModule.ModuleID;
treeNode.Checked = false;
rootNode.ChildNodes.Add(treeNode);
String id = aModule.ModuleID.Trim(); //
CreateTree(id, treeNode);
}
}
private List<Module> getSubModuleByParentID(String parentID)
{
List<Module> listSubModule = new List<Module>();
//Module m = new Module();
foreach (Module aModule in listModule)
{
if (aModule.ParentID == parentID)
{
listSubModule.Add(aModule);
}
}
return listSubModule;
}
protected void btn_add_Click(object sender, EventArgs e)
{
listModuleID = new List<string>();
GetAllChooseNodes(TreeView1.Nodes);
//ListBox1.DataSource = listModuleID;
//ListBox1.DataBind();
RoleBLL aRoleBLL = new RoleBLL();
//-- 角色名必须填写 --
if (txtRoleName.Text == "")
{
Literal txtMsg = new Literal();
txtMsg.Text = "<script>alert('角色名必须填写')</script>";
//txtRoleName.Text = "";
Parent.Controls.Add(txtMsg);
return;
}
//-- 角色名不能超过30字
if (txtRoleName.Text.Trim().Length > 30)
{
//清空文本框内容
txtRoleName.Text = "";
//显示错误信息
Literal txtMsg = new Literal();
txtMsg.Text = "<script>alert('角色名过长')</script>";
//txtRoleName.Text = "";
Parent.Controls.Add(txtMsg);
return;
}
if (listModuleID.Count == 0)
{
//显示错误信息
Literal txtMsg = new Literal();
txtMsg.Text = "<script>alert('权限不能为空!')</script>";
//txtRoleName.Text = "";
Parent.Controls.Add(txtMsg);
return;
}
//-- 判断角色名在Role表中是否重复,如果重复要求用户重新输入 --
if (aRoleBLL.isExistInRole(txtRoleName.Text))
{
String oldName = txtRoleName.Text;
//有相同名字的角色,不能新增;提示用户输入新的用户名
Literal txtMsg = new Literal();
txtMsg.Text = "<script>alert('角色名重复,请重新输入')</script>";
//txtRoleName.Text = "";
Parent.Controls.Add(txtMsg);
}
else
{
DBResult result = aRoleBLL.insertRoleAndModules(txtRoleName.Text, listModuleID);
Literal txtMsg = new Literal();
if (result == DBResult.Success)
{
txtMsg.Text = "<script>alert('已成功添加角色" + txtRoleName.Text + "!')</script>";
txtRoleName.Text = "";
setAllNodesEmpty(TreeView1.Nodes);
}
else
{
txtMsg.Text = "<script>alert('增加角色失败!')</script>";
}
Parent.Controls.Add(txtMsg);
}
}
//-- 把权限树清空 --
private void setAllNodesEmpty(TreeNodeCollection tnc)
{
foreach (TreeNode pNode in tnc)
{
pNode.Checked = false;
if (pNode.ChildNodes.Count != 0)
setAllNodesEmpty(pNode.ChildNodes);
}
}
//-- 得到所有checked为真的权限的ModuleID
private void GetAllChooseNodes(TreeNodeCollection tnc)
{
//得到用户的选择
foreach (TreeNode pNode in tnc)
{
if (pNode.Checked == true)
listModuleID.Add(pNode.Value);
if (pNode.ChildNodes.Count != 0)
GetAllChooseNodes(pNode.ChildNodes);
}
}
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
/*
TreeNode currentNode = e.Node;
if (currentNode.Checked)
{
//选中状态--改变其父节点和相关所有子节点
currentNode.Parent.Checked = true;
foreach (TreeNode childNode in currentNode.ChildNodes)
{
childNode.Checked = true;
}
}
*/
}
protected void Button2_Click(object sender, EventArgs e)
{
Server.Transfer("role_list.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
txtRoleName.Text = "";
setAllNodesEmpty(TreeView1.Nodes);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -