MVC 控制器接受一些传递给它的表单项。让我们说名称和地址。
在 [Post] 控制器中它接收一个 Person 对象。
MVC 神奇的映射发生并填充了 Person 对象。
1)这个神奇映射的正确术语是什么?
模型绑定
2) 为什么如果我的 Person 对象有虚拟对象,它不会被神奇地填满?
好的,这是一些真实的代码。
public class PackageItem
{
public int ProposalItemID { get; set; }
public virutal PackageByContract { get; set; }
public int Quantity { get; set; }
}
public class EquipmentItem
{
public int ProposalItemID { get; set; }
public virtual EquipmentByContract { get; set; }
public int Quantity { get; set; }
}
public class ProposalItem
{
public PackageItem PackageItem { get; set; }
public EquipmentItem EquipmentItem { get; set; }
}
EquipmentByContract
和
PackageByContract 对象都有
EquipmentByContractID
和
PackageByContractID
<select name="PackageItem.PackageByContract.PackageByContractID"...>
<select name="PackageItem.EquipmentByContract.EquipmentByContractID"...>
在调试时发布控制器PackageByContractID
并且EquipmentByContractID
两者都是null
被发送的价值是int
在我的控制器中
[HttpPost]
public ActionResult Index(ProposalItem Item)
{...}
将鼠标悬停在项目上时,两个对象都会出现。当我钻透它时,这两个值都是空的。