ASP.NET MVC 5 空应用程序用户
ASP.NET MVC 5 empty ApplicationUser
我有一个 table [QuestionID] [描述] [User_id]。
public int QuestionID { get; set; }
public string Description { get; set; }
public ApplicationUser user { get; set; }
当用户使用表单发送问题并正确保存所有字段时,问题将存储在数据库中。
我从我的 QuestionController 发送了一个列表,其中包含我要查看的所有问题:
return View(db.Questions.ToList());
在我看来我使用了那个列表:
@foreach (var item in Model)
{
<tr>
<td class="td-title">
@Html.DisplayFor(modelItem => item.QuestionID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.user.id)
</td>
</tr>
...
除了 item.user.id 没有显示任何值(它已填充到数据库中)之外,一切正常。这里怎么是空的?我该怎么做才能显示用户信息?
编辑:
我使用代码优先,这是我填写数据库的方式:
public ActionResult Create([Bind(Include = "QuestionID,Description")] Question question)
{
if (ModelState.IsValid)
{
question.user = UserManager.FindById(User.Identity.GetUserId());
db.Questions.Add(question);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(question);
}
表单后的数据库结果示例:
[QuestionID] [Description] [user_Id]
1 blalbla.. 397d27d...
你试过了吗"public virtual ApplicationUser user { get; set; }"?
我认为您必须将其设为虚拟才能访问 ApplicationUser 属性或将视图中的代码更改为“@Html.DisplayFor(modelItem => item.user)”
我有一个 table [QuestionID] [描述] [User_id]。
public int QuestionID { get; set; }
public string Description { get; set; }
public ApplicationUser user { get; set; }
当用户使用表单发送问题并正确保存所有字段时,问题将存储在数据库中。
我从我的 QuestionController 发送了一个列表,其中包含我要查看的所有问题:
return View(db.Questions.ToList());
在我看来我使用了那个列表:
@foreach (var item in Model)
{
<tr>
<td class="td-title">
@Html.DisplayFor(modelItem => item.QuestionID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.user.id)
</td>
</tr>
...
除了 item.user.id 没有显示任何值(它已填充到数据库中)之外,一切正常。这里怎么是空的?我该怎么做才能显示用户信息?
编辑:
我使用代码优先,这是我填写数据库的方式:
public ActionResult Create([Bind(Include = "QuestionID,Description")] Question question)
{
if (ModelState.IsValid)
{
question.user = UserManager.FindById(User.Identity.GetUserId());
db.Questions.Add(question);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(question);
}
表单后的数据库结果示例:
[QuestionID] [Description] [user_Id]
1 blalbla.. 397d27d...
你试过了吗"public virtual ApplicationUser user { get; set; }"?
我认为您必须将其设为虚拟才能访问 ApplicationUser 属性或将视图中的代码更改为“@Html.DisplayFor(modelItem => item.user)”