2011-07-27 59 views

回答

2

即使這樣的事情是可能我爾德建議,您對。它很醜。您可以參考templated Razor delegates

或者一個簡單的循環:

@for (var i = 0; i < Model.Toys.Length; i++) { 
    <input name="[email protected](i)" type="hidden" value="@Model.Toys[i].Make" /> 
} 

或編輯模板:

@Html.EditorFor(x => x.Toys) 

UPDATE:

看來要重新編寫的WebForms此代碼。所以:

<% for (var i = 0; i < Model.Toys.Length; i++) { %> 
    <input name="Make<%= i %>" type="hidden" value="<%= Model.Toys[i].Make %>" /> 
<% } %> 
+1

醜陋是主觀的。該代碼看起來很適合我。 – jfar

+0

@jfar,我同意,這是主觀的。但是,如果您嘗試使用'.ForEach'方法將這項工作放在一個班輪上,那麼它會開始看起來很醜陋,我認爲:-) Razor模板Razor代表對我來說似乎是一個很好的解決方案。 –

+0

確實,代表解決方案非常好,但我沒有看到OP想要做什麼錯誤。 Hrm,看起來他實際上是在尋找模板化的代表... – jfar

0

你也可以簡單地創建一個EditorTemplate處理類型玩具的對象(命名約定處理這個,所以你可以簡單地稱它爲toy.cshtml,如果它是強類型的話),然後在你的視圖中你可以簡單地使用@Html.EditorFor(x=>x.Toys)