#asp.net-mvc #asp.net-core-3.1
#asp.net-mvc #asp.net-core-3.1
Вопрос:
как отправить список всех пользователей в представление в asp.net ядро 3 mvc с контроллера
public IActionResult Users()
{
var alluser = _db.Users.ToList();
return View(alluser);
}
Ответ №1:
создайте класс ApplicationDbUser в качестве примера и унаследуйте от IdentityUser, чтобы наследовать все свойства от AspNetUsers следующим образом :
public class ApplicationDbUser : IdentityUser
{
}
затем вы должны использовать контекст в качестве базы данных (_db в вашем вопросе), чтобы получить данные из базы данных, используя EntityFramework в виде следующего кода :
public class ApplicationDbContext : IdentityDbContext<ApplicationDbUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
теперь в вашем контроллере вы можете использовать следующий код :
private readonly RoleManager<IdentityRole> _roleManager;
private readonly UserManager<ApplicationDbUser> _userManager;
public ExampleController(UserManager<ApplicationDbUser> userManager, RoleManager<IdentityRole> roleManager)
{
_userManager = userManager;
_roleManager = roleManager;
}
public IActionResult Index()
{
var allUsers = _userManager.Users.ToList();
return View(allUsers);
}
Вы можете использовать его, используя @model на странице просмотра индекса
в Index.cshtml вы можете сделать следующее :
@model IEnumerable<ApplicationDbUser>
<!DOCTYPE html>
<html>
<head>
<title>my page example</title>
</head>
<body>
<div>
<table>
@foreach (var item in Model)
{
<tr>
<td>
@item.Email
</td>
</tr>
}
</table>
</div>
</body>
</html>