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

📄 roleitemcontrol.ascx.cs

📁 ASP.NET 2.0动态网站设计实例源代码,本书介绍了ASP.NET2.0的基础知识
💻 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;

public partial class Admin_RoleItemControl : System.Web.UI.UserControl
{
 protected void Page_Load(object sender, EventArgs e)
 {
  object roleID = Request.QueryString["roleid"];
  if (!IsPostBack)
  {
   if (roleID == null)
   {
    Common.RegisterAlertScript("请选择角色ID", "ManageRole.aspx", "ErrorID", this.Page);
    return;
   }
   else
   {
    RoleEntity role = new RoleEntity();
    RoleBussiness roleBuss = new RoleBussiness();
    role.RoleID = Convert.ToInt32(roleID);
    object roleName = roleBuss.GetRoleNameByRoleID(role.RoleID);
    if (roleName == null)
    {
     Common.RegisterAlertScript("请选择角色ID", "ManageRole.aspx", "ErrorID", this.Page);
     return;
    }
    else
    {
     lblRoleName.Text = roleName.ToString();
     roleBuss.GetItemsByRoleID(ref role);
     BindTree(role);
    }
   }
  }
 }
 /// <summary>
 /// 绑定栏目树
 /// </summary>
 /// <param name="role"></param>
 private void BindTree(RoleEntity role)
 {
  ItemEntity item = new ItemEntity();
  ItemBussiness itemBuss = new ItemBussiness();
  DataTable dtRoot = itemBuss.GetRootItem();
  DataTable dtSub = null;
  for (int iCounter = 0; iCounter < dtRoot.Rows.Count; iCounter++)
  {
   string rootItemName = Convert.ToString(dtRoot.Rows[iCounter]["ItemName"]);
   string rootItemID = Convert.ToString(dtRoot.Rows[iCounter]["ItemID"]);
   TreeNode tn = new TreeNode(rootItemName, rootItemID);
   //获取子栏目
   dtSub = itemBuss.GetItemByParentID(Convert.ToInt32(dtRoot.Rows[iCounter]["ItemID"]));
   if (role.RoleItemMap.Count != 0)//如果该栏目设置了权限
   {
    if (role.RoleItemMap.Contains(rootItemID))//若根栏目ID包含在该角色中
    {
     tn.Checked = true;
     if (dtSub.Rows.Count != 0)
     {
      for (int iCounterII = 0; iCounterII < dtSub.Rows.Count; iCounterII++)
      {
       TreeNode subtn = new TreeNode(Convert.ToString(dtSub.Rows[iCounterII]["ItemName"]),
        Convert.ToString(dtSub.Rows[iCounterII]["ItemID"]));
       subtn.Checked = true;
       tn.ChildNodes.Add(subtn);
      }
     }
    }
    else
    {
     if (dtSub.Rows.Count != 0)
     {
      for (int iCounterII = 0; iCounterII < dtSub.Rows.Count; iCounterII++)
      {
       string subItemID=Convert.ToString(dtSub.Rows[iCounterII]["ItemID"]);
       TreeNode subtn = new TreeNode(Convert.ToString(dtSub.Rows[iCounterII]["ItemName"]),subItemID);
       if (role.RoleItemMap.Contains(subItemID))
       {
        subtn.Checked = true;
       }
       tn.ChildNodes.Add(subtn);
      }
     }
    }
   }
   else//否则
   {
    if (dtSub.Rows.Count != 0)
    {
     for (int iCounterII = 0; iCounterII < dtSub.Rows.Count; iCounterII++)
     {
       TreeNode subtn = new TreeNode(Convert.ToString(dtSub.Rows[iCounterII]["ItemName"]),
        Convert.ToString(dtSub.Rows[iCounterII]["ItemID"]));
      tn.ChildNodes.Add(subtn);
     }
    }
   }

   //TreeView1.Nodes.Add(tn);
  }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -