ASP.net MVC アプリケーションで各ユーザーとその役割の行を表示しようとしています。
ユーザーとその役割は、ASP.net メンバーシップ プロバイダー テーブルに格納されます。以下のコードを使用して、各ユーザーと割り当てられている役割を表示できますが、ユーザーが複数の役割にある場合、ユーザーが繰り返されるという問題があります。
UserRole を List として作成しようとしましたが、以下のコードでロールをリストに追加する方法がわからないため、行き詰まりました。方向性を教えてください。
私のビューモデルは次のとおりです。
public class UserViewModel
{
public string UserName { get; set; }
public List<String> UserRole { get; set; }
}
var roles = ApplicationRoles.RolesList;
var users = new List<UserViewModel>();
foreach (var role in roles)
{
foreach (var user in Roles.GetUsersInRole(role))
{
users.Add(new UserViewModel {UserName = user, UserRole = role });
}
}
return View(users);
ユーザーに複数のロールが関連付けられている場合、ユーザー名を繰り返さないようにロールをロードするにはどうすればよいですか?
次の形式で表示したいと思います。
=======================
ユーザー | 役割
ジョン | ジョン | 管理者、承認者
サム | 承認者
=======================