我搜索过很多关于SO的帖子,但仍然不确定我在这里做错了什么。我有一个model
的“订单”,其中包含<list>
的“OrderItem”
public class Order
{
public int OrderId { get; set; }
public int CustId { get; set; }
public DateTime OrderDate { get; set; }
public int OrderType { get; set; }
...
...
public List<OrderItem> OrderItems = new List<OrderItem>();
}
public class OrderItem
{
public string ProductCode { get; set; }
public decimal RetailPrice { get; set; }
public string ProductQuantity { get; set; }
}
在我的视图中,强烈键入Order模型,我使用编辑器模板来显示订单商品
@model FTG.Models.Order
@Html.EditorFor(x => x.OrderItems)
并且编辑器模板似乎为模型绑定指定了正确的名称:
input type="number" id="OrderItems_0__ProductQuantity" name="OrderItems[0].ProductQuantity"...
input type="number" id="OrderItems_1__ProductQuantity" name="OrderItems[1].ProductQuantity"...
但是我的模型返回到控制器,列表为count=0
。模型的其余部分看起来很好,我只是无法从orderitems列表中获取值。
有谁知道我做错了什么,或者我错过了什么?
答案 0 :(得分:0)
我认为您的模型类缺少子列表的属性。尝试为OrderItems列表添加属性。
答案 1 :(得分:0)
OrderItems是一个字段,而不是属性。你需要使用getter和setter创建一个属性,然后在构造函数中创建空列表并将其分配给属性。