我想在选定的列表中标注EF模型的人名和姓氏。 我试过这个:
public ActionResult Insert()
{
ViewData["accountlist"] = new SelectList(time.Anagrafica_Dipendente.ToList(), "ID_Dipendente", "Surname Name", null);
Giustificativi g = new Giustificativi();
return View(g);
}
但VS返回错误,因为没有名为“姓氏名称”的属性。 如何在选择列表标签中连接姓名和姓氏?
感谢
答案 0 :(得分:45)
ViewData["accountlist"] =
new SelectList((from s in time.Anagrafica_Dipendente.ToList() select new {
ID_Dipendente=s.ID_Dipendente,
FullName = s.Surname + " " + s.Name}),
"ID_Dipendente",
"FullName",
null);
答案 1 :(得分:29)
向time.Anagrafica_Dipendente
添加一个新属性,它将代表两个属性的串联:
public string Fullname
{
get
{
return string.Format("{0} {1}", Surname, Name);
}
}
然后使用它:
ViewData["accountlist"] = new SelectList(
time.Anagrafica_Dipendente.ToList(),
"ID_Dipendente",
"Fullname",
null
);
更新:从C#6.0开始,该属性可以更简洁地写为:
public string Fullname => string.Format("{0} {1}", Surname, Name);
详细了解表情身体属性here。
答案 2 :(得分:1)
正在查看
<select asp-for="AccountId"
asp-items='new SelectList(from x in Accounts select new { Value = x.AccountId ,Text = x.Name + " " + x.Surname}, "Value","Text")'></select>
答案 3 :(得分:0)
我一直在寻找这个答案,我的简单方法是添加一个NotMapped属性,这是我的代码:
[NotMapped]
public string FullName
{
get
{
return Name + " " + LastName;
}
}
然后您可以在控制器中使用常规方式,这是我的代码,Owner与AspNetUsers
相关的外键
ViewBag.Owner = new SelectList(db.AspNetUsers, "Id", "FullName", product.Owner);