在我的模型中,我实际上有一个来自另一个模型的项目列表。
我想为列表中每个项目的每个属性显示一个TextBoxFor(已禁用),有点像购物车盒。
这是我模特的一部分:
public class ObjOrderInfo
{
(...)
public List<ObjOrderDetailInfo> m_ListObjOrderDetail { get; set; }
}
这是我观点的一部分:
@using (Html.BeginForm())
{
(...)
@foreach (var item in Model.m_ListObjOrderDetail)
{
(insert code here)
}
}
基本上我的其他对象(ObjOrderDetailInfo)具有数量,价格和其他对象等属性。我总是希望为每个属性显示textboxfor或displayfor。但是我怎么能知道我怎么能这样做......任何人都可以帮助我吗?
非常感谢!
答案 0 :(得分:1)
@using (Html.BeginForm())
{
(...)
@for (var i = 0; i < Model.m_ListObjOrderDetail.Count; i++)
{
@Html.DisplayFor(x => x.m_ListObjOrderDetail[i].SomeProperty)
@Html.TextBoxFor(x => x.m_ListObjOrderDetail[i].SomeOtherProperty)
@Html.TextBoxFor(
x => x.m_ListObjOrderDetail[i].YetAnotherProperty,
new { @readonly = "readonly" }
)
}
}
答案 1 :(得分:0)
这样简单应该有用:
@using (Html.BeginForm())
{
<ul>
@foreach (var item in Model.m_ListObjOrderDetail)
{
<li>@Html.DisplayFor(m => item)</li>
}
</ul>
}
答案 2 :(得分:0)
1)创建一个名为“ObjOrderDetailInfo.cshtml”的视图。此视图应针对ObjOrderDetailInfo
进行强类型输入,并且您需要在视图中输入控件以编辑ObjOrderDetailInfo
(如果需要,请使用“编辑”脚手架模板)。
2)将上面的视图放在Views / Shared / EditorTemplates文件夹中。
3)在View for ObjOrderInfo中,执行以下操作:
@Html.EditorFor(model => model.m_ListObjOrderDetail)