[英]Display fields based on items in a list in my model
在我的模型中,我實際上有一個來自另一個模型的項目清單。
我想為列表中每個項目的每個屬性顯示一個TextBoxFor(disabled),有點像購物車盒子。
這是我的模型的一部分:
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。 但是我對如何做到這一點一無所知...有人可以幫助我嗎?
非常感謝你!
@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" }
)
}
}
像這樣簡單的事情應該起作用:
@using (Html.BeginForm())
{
<ul>
@foreach (var item in Model.m_ListObjOrderDetail)
{
<li>@Html.DisplayFor(m => item)</li>
}
</ul>
}
1)創建一個名為“ ObjOrderDetailInfo.cshtml”的視圖。 該視圖應針對ObjOrderDetailInfo
進行強類型化,並且您將希望放入控件以在視圖中編輯ObjOrderDetailInfo
(如果需要,請使用“編輯”支架模板)。
2)將上面的視圖放在Views / Shared / EditorTemplates文件夾中。
3)在您的ObjOrderInfo視圖中,執行以下操作:
@Html.EditorFor(model => model.m_ListObjOrderDetail)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.