如何列出 Razor View 中的所有用户?

How to list all users in Razor View?

我正在制作一个页面,用户将在其中获得管理员的批准。问题 是当我尝试列出所有用户时,我只得到其中一个。 [1]: https://i.stack.imgur.com/uYE91.png

这是我的Approve.cshtml.cs

 public class ApproveModel : PageModel
{
    private readonly ApplicationDbContext _db;
  
    public ApproveModel(ApplicationDbContext db)
    {
        _db = db;
     

    }
    public string UserId { get; set; }
  
    public bool IsSelected { get; set; }
    public async Task<IActionResult> OnGetAsync()
    {
        foreach (var user in _db.UserRoles)
        {
            UserId = user.UserId;
            if (user.RoleId == "2")
            {
                IsSelected = true;
            }
            else
            {
                IsSelected = false;
            }
           
        }
        return Page();
    }

}

这是我的 Approve.cshtml

<form method="post">
<div class="card">
    <div class="card-header">
        <h2>Approve users</h2>
    </div>
    <div class="card-body">
        <div class="form-check m-1">
            <input asp-for="@Model.IsSelected" class="form-check-input" />
            <label class="form-check-label">
                @Model.User.Identity.Name
            </label>
        </div>

    </div>
    <div class="card-footer">
        <input type="submit" value="Update" class="btn btn-primary" style="width:auto" />
    </div>
</div>

我尝试在视图中使用 foreach 但它不起作用或者我弄错了...

提前感谢您的帮助,我真的很需要它<3

根据你的描述,我建议你可以考虑创建一个用户列表来存储所有管理员批准的用户。

然后在页面中使用foreach循环所有用户并显示在客户端视图中。

更多详情,您可以参考以下代码:

批准用户模式:

public class ApproveUsers
{
    public string UserId { get; set; }

    public bool IsSelected { get; set; }
}

页面模型:

public class Error2Model : PageModel
{
    public List<ApproveUsers> Users { get; set; } = new List<ApproveUsers>();

    public void OnGet()
    {

        foreach (var user in _db.UserRoles)
        {
            ApproveUsers ap = new ApproveUsers();
            ap.UserId = user.UserId;
            if (user.RoleId == "2")
            {
                ap.IsSelected = true;
            }
            else
            {
                ap.IsSelected = false;
            }
            Users.Add(ap);

        }

    }
}

页面浏览量:

<form method="post">
    <div class="card">
        <div class="card-header">
            <h2>Approve users</h2>
        </div>
        <div class="card-body">
            @foreach (var item in Model.Users)
            {
                <div class="form-check m-1">
                    <input asp-for="@item.IsSelected" class="form-check-input" />
                    <label class="form-check-label">
                        @item.UserId
                    </label>
                </div>
            }


        </div>
        <div class="card-footer">
            <input type="submit" value="Update" class="btn btn-primary" style="width:auto" />
        </div>
    </div>
    </form>