Asp.net mvc 来自标识的全名无法使用asp.net core 3.0
我正在处理一个小项目,并尝试显示全名(我在从IdentityUser导入的ApplicationUser模型中添加的全名)和模型下方:Asp.net mvc 来自标识的全名无法使用asp.net core 3.0,asp.net-mvc,asp.net-core,Asp.net Mvc,Asp.net Core,我正在处理一个小项目,并尝试显示全名(我在从IdentityUser导入的ApplicationUser模型中添加的全名)和模型下方: public class ApplicationUser : IdentityUser { public int PersonnalNumber { get; set; } public string FullName { get; set; } } 以下是与应用程序用户有关系的SystemDetails模型: public class Sy
public class ApplicationUser : IdentityUser
{
public int PersonnalNumber { get; set; }
public string FullName { get; set; }
}
以下是与应用程序用户有关系的SystemDetails模型:
public class SystemDetails
{
[Key]
public int Id { get; set; }
[Required]
[Display(Name = "System Name")]
public string SystemName { get; set; }
[Required]
[Display(Name = "Admin Name")]
public string SystemAdminId { get; set; }
public string ServerNames { get; set; }
[ForeignKey("SystemAdminId")]
public virtual ApplicationUser ApplicationUser { get; set; }
}
这是索引视图:
@if (Model.Count() > 0)
{
<table class=" table table-striped border">
<tr class="table-secondary">
<th>
@Html.DisplayNameFor(m => m.SystemName)
</th>
<th>
@Html.DisplayNameFor(m => m.SystemAdminId)
</th>
<th></th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(m => item.SystemName)
</td>
<td>
@Html.DisplayFor(m => item.ApplicationUser.FullName)
</td>
<td>
<partial name="_TableButtonPartial" model="@item.Id" />
</td>
</tr>
}
@if(Model.Count()>0)
{
@DisplayNameFor(m=>m.SystemName)
@DisplayNameFor(m=>m.SystemAdminId)
@foreach(模型中的var项目)
{
@DisplayFor(m=>item.SystemName)
@DisplayFor(m=>item.ApplicationUser.FullName)
}
一切正常,除了索引页上未显示全名外,我可以显示SystemAdminId,这是注册的用户Id,但当我尝试使用Applicationuser.FullName显示全名时,它没有显示任何内容!当我在SystemDetails控制器上创建记录时,它已正确保存在数据库中,如下所示:
以下是创建操作:
[HttpPost,ActionName("Create")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> CreatePost()
{
List<ApplicationUser> userList = new List<ApplicationUser>();
if (!ModelState.IsValid)
{
return NotFound();
}
userList = await (from user in _db.ApplicationUser select user).ToListAsync();
ViewBag.usersList = userList;
_db.SystemDetails.Add(SystemDetails);
await _db.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
[HttpPost,ActionName(“创建”)]
[ValidateAntiForgeryToken]
公共异步任务CreatePost()
{
List userList=新列表();
如果(!ModelState.IsValid)
{
返回NotFound();
}
userList=await(从_db.ApplicationUser select user.toListSync()中的用户开始);
ViewBag.usersList=用户列表;
_db.SystemDetails.Add(SystemDetails);
等待_db.SaveChangesAsync();
返回重定向到操作(名称(索引));
}
感谢controller中的任何帮助,在查询
系统详细信息列表时,您应该加载相关的应用程序用户
:
using Microsoft.EntityFrameworkCore;
var result = _dbContext.SystemDetails.Include(f => f.ApplicationUser).ToList();
听着,也许它会帮到你。是的,Nan,它正在使用索引操作中的include。