想象一个常见的情况,这是我遇到的一个简单的版本。实际上,我在我上还有几层进一步的嵌套。
但这是场景
主题包含列表类别包含列表产品包含列表
我的控制器提供了一个完全填充的主题,包括该主题的所有类别,该类别中的产品及其订单。
订单集合具有一个名为“数量”(在其他属性中)的属性,需要对其进行编辑。
@model ViewModels.MyViewModels.Theme
@Html.LabelFor(Model.Theme.name)
@foreach (var category in Model.Theme)
{
@Html.LabelFor(category.name)
@foreach(var product in theme.Products)
{
@Html.LabelFor(product.name)
@foreach(var order in product.Orders)
{
@Html.TextBoxFor(order.Quantity)
@Html.TextAreaFor(order.Note)
@Html.EditorFor(order.DateRequestedDeliveryFor)
}
}
}
如果我改用lambda,那么我似乎只获得对顶级Model对象“ Theme”的引用,而不是foreach循环中的那些对象。
我正在尝试做的事情甚至可能吗?或者我高估或误解了什么可能?
有了上述,我在TextboxFor,EditorFor等错误
CS0411:无法从用法中推断出方法'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)'的类型参数。尝试显式指定类型参数。
谢谢。
饮歌长啸