C# 如何通过单击按钮在成员资格中添加多个用户角色

C# 如何通过单击按钮在成员资格中添加多个用户角色,c#,asp.net,asp.net-membership,C#,Asp.net,Asp.net Membership,我第一次使用成员身份来添加用户角色。现在,根据我的需要,我将根据分配给特定用户的角色,在gridview的列中显示名称为选中或未选中的用户角色。。 现在我想通过点击复选框来升级角色。在这种情况下,我需要在成员表中用singme用户名更新多个角色 我关心的是,在成员资格中是否有任何方法可以使用单个用户名更新多个角色 这是我从gridview列获取所选角色的代码 protected void UpgradeSelectedRecords(object sender, EventArgs e) {

我第一次使用成员身份来添加用户角色。现在,根据我的需要,我将根据分配给特定用户的角色,在gridview的列中显示名称为选中或未选中的用户角色。。 现在我想通过点击复选框来升级角色。在这种情况下,我需要在成员表中用singme用户名更新多个角色

我关心的是,在成员资格中是否有任何方法可以使用单个用户名更新多个角色

这是我从gridview列获取所选角色的代码

protected void UpgradeSelectedRecords(object sender, EventArgs e)
{
    string admin;
    string DPAOUser;
    string GenUser;

    foreach (GridViewRow row in GridView1.Rows)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
            CheckBox chkRow = (row.Cells[0].FindControl("chkChild") as CheckBox);
            if (chkRow.Checked)
            {
                string name = (row.Cells[2].FindControl("Label1") as Label).Text;

                if ((row.Cells[3].FindControl("chkAdmin") as CheckBox).Checked) {

                    admin = "Admin";

                }

                if ((row.Cells[4].FindControl("chkUser") as CheckBox).Checked)
                {

                    DPAOUser = "DPAO User ";

                }

                if ((row.Cells[5].FindControl("chkgen") as CheckBox).Checked)
                {

                    GenUser = "GeneralUser";

                }

            }
        }
    }
    BindGridviewData();
}
任何帮助都将不胜感激。。 提前感谢。

您可以尝试以下方法:

Roles.AddUserToRole("username", "rolename") //Add user to one role
Roles.AddUserToRoles("username", rolenames) //Add to roles.  rolenames is string[]
你可以试试这个:

Roles.AddUserToRole("username", "rolename") //Add user to one role
Roles.AddUserToRoles("username", rolenames) //Add to roles.  rolenames is string[]

添加一个按钮以更新GridView之外的角色

试试这个

protected void cmdUpdateRole_Click(object sender, EventArgs e)
{
    foreach (GridViewRow row in GridView1.Rows)
    {
        List<string> roles=new List<string>();
        Label username = (Label)row.FindControl("Label1");
        CheckBox chkAdmin = (CheckBox)row.FindControl("chkAdmin");
        CheckBox chkUser = (CheckBox)row.FindControl("chkUser");
        CheckBox chkgen = (CheckBox)row.FindControl("chkgen");
        if (chkAdmin.Checked)
            roles.Add("Admin");  
        if (chkUser.Checked)
            roles.Add("DPAO User");
        if (chkgen.Checked)
            roles.Add("GeneralUser");
        if (Roles.GetRolesForUser(username.Text).Length > 0)
        {
            Roles.RemoveUserFromRoles(username.Text, Roles.GetRolesForUser(username.Text));
        }
        if (roles.Count > 0)
        {
            Roles.AddUserToRoles(username.Text, roles.ToArray());
        }
        BindGridviewData();
    }
}
protectedvoid cmdUpdateRole\u单击(对象发送方,事件参数e)
{
foreach(GridView1.Rows中的GridViewRow行)
{
列表角色=新列表();
Label username=(Label)row.FindControl(“Label1”);
复选框chkAdmin=(复选框)row.FindControl(“chkAdmin”);
复选框chkUser=(复选框)row.FindControl(“chkUser”);
复选框chkgen=(复选框)row.FindControl(“chkgen”);
如果(chkAdmin.Checked)
添加(“管理员”);
如果(chkUser.Checked)
添加(“DPAO用户”);
如果(chkgen.Checked)
角色。添加(“通用用户”);
if(Roles.GetRolesForUser(username.Text).Length>0)
{
Roles.RemoveUserFromRoles(username.Text,Roles.GetRolesForUser(username.Text));
}
如果(roles.Count>0)
{
Roles.AddUserToRoles(username.Text,Roles.ToArray());
}
BindGridviewData();
}
}

添加按钮以更新GridView之外的角色

试试这个

protected void cmdUpdateRole_Click(object sender, EventArgs e)
{
    foreach (GridViewRow row in GridView1.Rows)
    {
        List<string> roles=new List<string>();
        Label username = (Label)row.FindControl("Label1");
        CheckBox chkAdmin = (CheckBox)row.FindControl("chkAdmin");
        CheckBox chkUser = (CheckBox)row.FindControl("chkUser");
        CheckBox chkgen = (CheckBox)row.FindControl("chkgen");
        if (chkAdmin.Checked)
            roles.Add("Admin");  
        if (chkUser.Checked)
            roles.Add("DPAO User");
        if (chkgen.Checked)
            roles.Add("GeneralUser");
        if (Roles.GetRolesForUser(username.Text).Length > 0)
        {
            Roles.RemoveUserFromRoles(username.Text, Roles.GetRolesForUser(username.Text));
        }
        if (roles.Count > 0)
        {
            Roles.AddUserToRoles(username.Text, roles.ToArray());
        }
        BindGridviewData();
    }
}
protectedvoid cmdUpdateRole\u单击(对象发送方,事件参数e)
{
foreach(GridView1.Rows中的GridViewRow行)
{
列表角色=新列表();
Label username=(Label)row.FindControl(“Label1”);
复选框chkAdmin=(复选框)row.FindControl(“chkAdmin”);
复选框chkUser=(复选框)row.FindControl(“chkUser”);
复选框chkgen=(复选框)row.FindControl(“chkgen”);
如果(chkAdmin.Checked)
添加(“管理员”);
如果(chkUser.Checked)
添加(“DPAO用户”);
如果(chkgen.Checked)
角色。添加(“通用用户”);
if(Roles.GetRolesForUser(username.Text).Length>0)
{
Roles.RemoveUserFromRoles(username.Text,Roles.GetRolesForUser(username.Text));
}
如果(roles.Count>0)
{
Roles.AddUserToRoles(username.Text,Roles.ToArray());
}
BindGridviewData();
}
}