ورود

View Full Version : سوال: لیست کاربران دارای یک Role در Membership



reza_moon_mordad
دوشنبه 18 آبان 1388, 14:49 عصر
سلام
آیا می شه فقط لیست کاربرنی که رولشون مثلا ادمین هست رو (در گرید)نمایش داد؟
چگونه؟؟

A.S.Roma
دوشنبه 18 آبان 1388, 15:48 عصر
string[] admins = Roles.GetUsersInRole("Admin");

با این Array هر کاری دوست دارید انجام دهید.

reza_moon_mordad
سه شنبه 19 آبان 1388, 10:08 صبح
مرسی اما من گرید رو به این صورت پر میکنم



Private Sub BindUsers(ByVal reloadAllUsers As Boolean)
If reloadAllUsers Then
allUsers = Membership.GetAllUsers
End If

Dim users As MembershipUserCollection = Nothing

Dim searchText As String = ""
If Not String.IsNullOrEmpty(gvwUsers.Attributes("SearchText")) Then
searchText = gvwUsers.Attributes("SearchText")
End If

Dim searchByEmail As Boolean = False
If Not String.IsNullOrEmpty(gvwUsers.Attributes("SearchByEmail")) Then
searchByEmail = Boolean.Parse(gvwUsers.Attributes("SearchByEmail"))
End If

If searchText.Length > 0 Then
If searchByEmail Then
users = Membership.FindUsersByEmail(searchText)
Else
users = Membership.FindUsersByName(searchText)
End If
Else
users = allUsers
End If

gvwUsers.DataSource = users
gvwUsers.DataBind()
End Sub

حالا میخام فقط لیست کاربرنی که رولشون مثلا ادمین هست و با شرطها ی بالا هم مطابقت داره رو نمایش بدم.

A.S.Roma
سه شنبه 19 آبان 1388, 10:46 صبح
این خطوط رو اضافه کنید
Dim result As New MembershipUserCollection()
For Each item As MembershipUser In users
If Roles.IsUserInRole(item.UserName, "Admin") Then
result.Add(item)

End If
Next

reza_moon_mordad
سه شنبه 19 آبان 1388, 12:09 عصر
مرسی عالی بود نمی دونم چرا به فکر خودم نرسید.