在我的情况下,如何在表格中显示列表? 在我看来,我已尝试过这个
@foreach (var AllUsers in Model.AllUsers)
{
<td>@AllUsers.Name</td>
<td>@AllUsers.Email</td>
<td>@AllUsers.IsActive</td>
}
但我收到此错误
NullReferenceException:未将对象引用设置为对象的实例。
这是我的控制器:
public IActionResult Users()
{
using (var aplicationDbContext = new ApplicationContext())
{
ApplicationUser user = new ApplicationUser();
var AllUsers = aplicationDbContext.ApplicationUsers.AsNoTracking().FirstOrDefault(m => m.Id==m.Id);
user.AllUsers = AllUsers.AllUsers;
if (AllUsers == null)
{
return NotFound();
}
}
return View(AllUsers);
}
答案 0 :(得分:1)
坦率地说,你的对象结构没有多大意义,可以简化。一个“ApplicationUser”类,逻辑上听起来像是包含一个用户的详细信息,然后有一个属性“AllUsers”,其中包含每个人的列表。这令人困惑。
您的代码中还有其他几个逻辑错误,如注释中所述 - 只返回一行到AllUsers,并返回错误的对象作为您的模型。
所以...我认为你可以这样做而不用大惊小怪:
<强>控制器:强>
public IActionResult Users()
{
using (var aplicationDbContext = new ApplicationContext())
{
var AllUsers = aplicationDbContext.ApplicationUsers.toList(); //return all users not just the first
return View(AllUsers);
}
}
查看强>:
@model List<ApplicationUser>
<table>
@foreach (var usr in Model)
{
<tr>
<td>@usr.Name</td>
<td>@usr.Email</td>
<td>@usr.IsActive</td>
</tr>
}
</table>