Ejemplo n.º 1
0
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (RoleID < 1) return;

        CheckBox cb = sender as CheckBox;
        if (cb == null) return;

        GridViewRow row = cb.BindingContainer as GridViewRow;
        if (row == null) return;

        Menu entity = Menu.Root.AllChilds[row.DataItemIndex] as Menu;
        if (entity == null) return;
        formtitle = entity.Name;

        // 检查权限
        RoleMenu rm = RoleMenu.FindByRoleAndMenu(RoleID, entity.ID);
        if (cb.Checked)
        {
            // 没有权限,增加
            if (rm == null)
            {
                if (!Acquire(PermissionFlags.Insert))
                {
                    WebHelper.Alert("没有添加权限!");
                    return;
                }

                rm = new RoleMenu();
                rm.RoleID = RoleID;
                rm.MenuID = entity.ID;
                rm.PermissionFlag = PermissionFlags.All;
                rm.Save();
            }
        }
        else
        {
            // 如果有权限,删除
            if (rm != null)
            {
                if (!Acquire(PermissionFlags.Delete))
                {
                    WebHelper.Alert("没有删除权限!");
                    return;
                }

                rm.Delete();
            }
        }

        GridView1.DataBind();
    }