簡體   English   中英

如何從控制器將所有用戶列表發送到 asp.net core 3 中的視圖

[英]how to send all users list to a view in asp.net core 3 from controller

如何從控制器將所有用戶列表發送到 asp.net core 3 mvc 中的視圖

  public IActionResult Users()
            {
                var alluser = _db.Users.ToList();
                return View(alluser);
            }  

創建一個類 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM