⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 role_add_ctrl.ascx.cs.svn-base

📁 很好的OA框架,使用ASP.NET+C#+sqlserver2005
💻 SVN-BASE
字号:
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 + -