我想在ASP.NET MVC5中顯示我的用戶列表,並在列中顯示用戶擁有的每個角色(以逗號分隔)。ASP.NET MVC以逗號分隔的字符串顯示用戶的角色
所以我有一個簡單的UserViewModel:
public class UserViewModel
{
public string UserName { get; set; }
public string Email { get; set; }
public string AdatlapNev { get; set; }
public string Roles { get; set; }
}
在我看來,該模型是:@model IEnumerable<UserViewModel>
問題是與角色的顯示。我試圖這樣做:
public ActionResult UserList()
{
return View(db.Users.Select(u => new UserViewModel
{
AdatlapNev = u.Adatlap == null ? "NULL" : u.Adatlap.Nev,
Email = u.Email,
UserName = u.UserName,
Roles = u.Roles.Select(r => db.Roles.Find(r.RoleId).Name).Aggregate((s1, s2) => s1 + ", " + s2)
}
));
}
但它不起作用。我得到System.ArgumentException
其中說,我不能在這裏使用Find
方法。
感謝您的幫助!
未經測試,但嘗試類似'Roles = String.Join(「,」,u.Roles.Select(r => r.Name))''。 –
@SteveGreene'IdentityUserRole'類沒有'Name'參數 – szkup