Asp.net core 如何在Razor视图中列出所有用户?
我正在制作一个页面,用户将由管理员批准。问题 当我尝试列出所有用户时,我只得到其中一个。 [1] : 这是我的Approve.cshtml.csAsp.net core 如何在Razor视图中列出所有用户?,asp.net-core,razor,view,identity,Asp.net Core,Razor,View,Identity,我正在制作一个页面,用户将由管理员批准。问题 当我尝试列出所有用户时,我只得到其中一个。 [1] : 这是我的Approve.cshtml.cs public class ApproveModel : PageModel { private readonly ApplicationDbContext _db; public ApproveModel(ApplicationDbContext db) { _db = db; }
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();
}
}
公共类批准模型:PageModel
{
私有只读应用程序dbContext_db;
公共认可模型(ApplicationDbContext数据库)
{
_db=db;
}
公共字符串用户标识{get;set;}
公共布尔值被选为{get;set;}
公共异步任务OnGetAsync()
{
foreach(数据库UserRoles中的var用户)
{
UserId=user.UserId;
如果(user.RoleId==“2”)
{
IsSelected=true;
}
其他的
{
IsSelected=false;
}
}
返回页();
}
}
这是我的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>
批准用户
@Model.User.Identity.Name
我试图在视图中使用foreach,但它不起作用,或者我弄错了
谢谢您的帮助,我非常需要它。P>根据您的描述,我建议您可以考虑创建一个用户列表来存储所有管理员认可的用户。
然后在页面中使用foreach循环所有用户并在客户端视图中显示它 更多详细信息,请参考以下代码: ApproveUsers模式: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);
}
}
}
public类Error2Model:PageModel
{
公共列表用户{get;set;}=new List();
公共互联网
{
foreach(数据库UserRoles中的var用户)
{
ApproveUsers ap=新ApproveUsers();
ap.UserId=user.UserId;
如果(user.RoleId==“2”)
{
ap.IsSelected=true;
}
其他的
{
ap.IsSelected=false;
}
用户。添加(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>
批准用户
@foreach(Model.Users中的var项)
{
@item.UserId
}
您应该使用foreach
循环。在视图@model list
中将用户列表作为模型检索,然后使用此@foreach(var user in@model)