我在我的应用程序中有一个社会模型,它使用标准的ApplicationUser对象作为它的“所有者”,如下所示:
public class Society
{
public int id { get; set; }
[DataType(DataType.Text)]
[DisplayName("Society Name")]
[Required(ErrorMessage = "Society Name is required")]
[StringLength(50, ErrorMessage = "Maximum of 100 characters")]
public String societyName { get; set; }
public String owner { get; set; }
[DataType(DataType.DateTime)]
public DateTime dateCreated { get; set; }
[DataType(DataType.DateTime)]
public DateTime dateLastUpdated { get; set; }
[DataType(DataType.Text)]
[DisplayName("Where is your Society based?")]
[Required(ErrorMessage = "Location is required")]
[StringLength(50, ErrorMessage = "Maximum of 100 characters")]
public String location { get; set; }
public virtual ApplicationUser User { get; set; }
public int countMembers() {
// to come...
}
public void transferOwnershipTo() {
// to come...
}
}
我想在我的视图中显示标准ApplicationUser的电子邮件属性作为社团的所有者,如下所示:
<td>
@Html.DisplayFor(modelItem => item.User.Email)
</td>
但是在我看来并没有显示任何内容。绝对是空的。然而,当我输入“项目点用户点电子邮件”时,智能感知正在捡起它。
如果我尝试
<td>
@Html.DisplayFor(modelItem => item.owner)
</td>
...然后我得到了主人的指导(例如34dgh5-fegre3-235等)。
有人可以指出我需要什么来获取item.User.Email外键属性吗?
感谢。
...... 控制器在下面添加 ......
public class SocietiesController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
// GET: Societies
public ActionResult Index()
{
return View(db.Societies.ToList());
}
答案 0 :(得分:0)
你能解决这个问题吗?我有一个非常类似的问题,但我的控制器配置有点不同,因为我的问题是详细信息页面...但是,我在我的索引页面上工作。尝试以下方法:
public ActionResult Index()
{
var societylist = db.Societies.Include(x => x.TABLENAME);
return View(societylist.ToList());
}
其中TABLENAME是您的表格,电子邮件地址数据位于
中