如何列出 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>
我正在制作一个页面,用户将在其中获得管理员的批准。问题 是当我尝试列出所有用户时,我只得到其中一个。 [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>