protected void Page_PreRender(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Control ptable = PermissionsListView.FindControl("PermissionsTable");

            string title = string.Empty;
            if (_type == PermissionsControlType.DEFAULT_GROUP)
            {
                title = "Default Groups";
            }
            else if (_type == PermissionsControlType.GROUP)
            {
                title = "My Groups";
            }
            else
            {
                title = "Special Users";
            }

            if (ptable != null)
            {
                ((Label)ptable.Controls[0].FindControl("PermissionsTableTitle")).Text = title;
            }
        }
    }
    private void BindAddList(EventArgs e)
    {
        Control addColumn = PermissionsListView.FindControl("PermissionsTable")
                            .FindControl("AddColumn");

        var usrAdd = (TextBox)addColumn.FindControl("AddUserTextBox");
        var grpAdd = (DropDownList)addColumn.FindControl("AddGroupDropdown");


        if (_type == PermissionsControlType.GROUP)
        {
            addColumn.Controls.Remove(usrAdd);
            grpAdd.Items.Add(new ListItem("Select Available...", "-1"));
            foreach (UserGroup grp in _permissionsManager.GetUsersGroups(Context.User.Identity.Name))
            {
                grpAdd.Items.Add(grp.GroupName);
            }
        }
        else
        {
            addColumn.Controls.Remove(grpAdd);
        }
    }
    private PermissionsControlType BindDataList()
    {
        PermissionsControlType type;

        ControlType = ControlType.ToLowerInvariant();
        if (ControlType.Contains("group"))
        {
            GroupList allGroups = _permissionsManager.GetUsersGroups(Context.User.Identity.Name);
            Func <GroupList, List <UserGroup> > filterFunc;
            if (ControlType == "defaultgroup")
            {
                filterFunc = GetDefaultGroups;
                type       = PermissionsControlType.DEFAULT_GROUP;
            }
            else
            {
                filterFunc = GetExistingNonDefaultGroups;
                type       = PermissionsControlType.GROUP;
            }

            PermissionsListView.DataSource =
                GetPermissionLevelsForGroups(filterFunc(allGroups));
        }
        else if (ControlType.Contains("user"))
        {
            PermissionsListView.DataSource = GetPermissionLevelsForUsers();
            type = PermissionsControlType.USER;
        }
        else
        {
            throw new Exception("Invalid ControlType specified");
        }

        PermissionsListView.DataBind();

        return(type);
    }