PDA

View Full Version : نمایش نقش یک کاربر در یک گرید و مدیریت نقش ها



sara_aryanfar
پنج شنبه 11 اسفند 1390, 20:22 عصر
با سلام من لیست کاربران سایت رو در یک گرید نشون میدم و می خوام در اون گرید یک لست باز شو بزارم که نقش ها داخل اون لیست بایند بشن و بتونم هر کاربر رو عضو نقش خاصی بکنم حالا سوالم اینه که من دارم گرید ویو از جدول یوز پر می کنم و نقش ها هم داخل جدول rol هست حالا چطوری می تونم اون لیست رو پر کنم و نحوه انتصاب یک نقش جدید به کاربر چیه (از ممبرشیپ استفاده می کنم)

fakhravari
پنج شنبه 11 اسفند 1390, 21:08 عصر
سمپل اقای صابر یه مثال توش هست

private void BindRoles()
{
chklRoles.DataSource = Roles.GetAllRoles();
chklRoles.DataBind();
foreach (string role in Roles.GetRolesForUser(TextBox1.Text.Trim()))
chklRoles.Items.FindByText(role).Selected = true;
}

---------
اول جستجو کاربر
MembershipUser user = Membership.GetUser(TextBox1.Text.Trim());

lblUserName.Text = user.UserName;
lnkEmail.Text = user.Email;
lnkEmail.NavigateUrl = "mailto:" + user.Email;
BindRoles();


-----------
protected void btnUpdateRoles_Click1(object sender, EventArgs e)
{
Label_Message.Text = "";

string[] currRoles = Roles.GetRolesForUser(TextBox1.Text.Trim());
if (currRoles.Length > 0)
Roles.RemoveUserFromRoles(TextBox1.Text.Trim(), currRoles);
List<string> newRoles = new List<string>();
foreach (ListItem item in chklRoles.Items)
{
if (item.Selected)
newRoles.Add(item.Text);
}
if (newRoles.Count == 0)
newRoles.Add("Users");
Roles.AddUserToRoles(TextBox1.Text.Trim(), newRoles.ToArray());

Label_Message.Text = "گروه کاربری با موفقیت تغییر یافت";

}