我有一个非常奇怪的。
我有一个主从关系,我们称之为 Order 和 OrderItem。在首页上,我有一个订单列表,在每一行旁边都有一个“编辑”链接,该链接将我带到一个编辑页面。我需要在顶部显示订单详细信息,并在底部编辑订单项目详细信息。
然而,“订单项目”表单的“ID”隐藏字段显示“订单”ID 值。更奇怪的是,DisplayFor 显示了正确的值,而 HiddenFor 和 EditorFor 显示了“订单”的 Id 值。
我正在使用视图模型来包含我在控制器中填充的 Razor 视图的 Master 和 Detail 实体。
假设 Order# = 16 和 OrderItem# = 7
所以 :
@model vmOrder // ViewModel that contains myOrder and MyOrderItems.
@Html.EditorFor(m=>m.myOrderItems.First().Id) // Produce 16
@Html.HiddenFor(m=>m.myOrderItems.First().Id) // Produce 16
@Html.DisplayFor(m=>m.myOrderItems.First().Id) // Produce 7 which is correct.
由于其他原因,我确实打算只返回第一条记录,因此返回“First()”。似乎MVC变得混乱......
有什么想法吗。对我来说似乎最奇怪?
非常感谢,
山姆