我有2款,员工和负责人:MVC 3 /实体框架:绑定集合
public class Employee
{
[Key]
public int Id { get; set; }
public int? PersonId { get; set; }
[ForeignKey("PersonId")]
public virtual Person Person { get; set; }
}
public class Person
{
public IList<PhoneNumber> PhoneNumbers { get; set; }
public int Id { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public Person()
{
PhoneNumbers = new List<PhoneNumber>
{
new PhoneNumber()
};
}
}
编辑模板电话:
@Html.TextBoxFor(x => x.Number)
@Html.DropDownListFor(m => m, new SelectList(Enum.GetNames(typeof (WebMVC.Core.Common.PhoneType))))
为了减少混乱,我删除了其他(非相关)属性。
我遇到的困难是在Employee Create()中,我可以绑定人员FName & LName,我无法绑定PhoneNumbers集合。
我知道2008年的哈克博客,但我不认为这反映了这种情况。
有没有人知道一个解决方案来绑定员工的Create()中的人员电话号码集合?
当你说在创建视图中“无法绑定”它们时,你是什么意思?它只是不显示电话号码属性?它是否显示它们,但不保存在保存操作中?提供更多细节。 – StriplingWarrior
相对于电话号码类的属性名称确实出现在调试(即号码,电话类型)中,但它们的值为空。此外,无论我添加多少个电话号码(通过添加新电话),集合仍然是1,并且正如我之前所说的,所有值都为空。 – aaa
您的编辑器视图代码生成的是什么html?什么参数名称/值对被发送到保存操作? – StriplingWarrior