視圖模型看起來是這樣的:使用Html.HiddenFor而迭代
public W { get; set; }
public WC WC { get; set; }
public List<TC> TCs { get; set; }
WC具有TC的相關組。它們的關係由包含外鍵WCId
的TC映射。
在視圖中,我有一個表單。在表格中,WC有輸入字段。然後,有一組TC取決於最大數量爲4的計數。每個TC都有一個相關的T,因爲該TC有一個外鍵TCId
。我試圖確保當表格發佈時,TC有相關聯的TId
。 TId
被保存在W中的T的列表中(即@Model.W.T.ElementAt(someindex).TId
)。
如何獲取lambda表達式以便使用助手在視圖中生成此關係,以便它可以在關聯控制器的httppost操作中使用?
下面是我在做什麼現在:
<input type="hidden" value="@(Model.W.T.ElementAt(i).TId)"
name="TCs[@(i)].TId"
id="[email protected](i)__TId" data-val="true"/>
我希望做的是使用@Html.HiddenFor
助手,但似乎無法得到它的工作,所以我只是用略顯動感又不失硬編碼的方法以上。注意:這可行,但是,我希望它更乾淨。
感謝您的答覆。我沒有考慮過幫助這個人,因爲這看起來有點冒險。我不完全確定如何生成適當的屬性值,並且必須針對這種情況專門對這些屬性進行逆向工程。 –
就ASP.NET MVC而言,它可能看起來很詭異,但在純HTML/HTTP中卻並非如此。 – Max
如果您正在考慮編寫幫手,請查看Steve Sanderson的HtmlPrefixScopeExtensions。在做類似自己的事情時,我發現這很有用。 http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ –