我創建了一個視圖來編輯我的模型。的看法是強類型和在一個點上我做了以下內容:ASP.NET MVC使用相同的視圖來編輯和創建
@for (int i = 0; i < Model.Risks.Count; i++)
{
@Html.EditorFor(m => Model.Risks[i]))
}
現在,這是工作的罰款,如果集合如果我編輯現有的實體不爲空,即。
但是,我想用這個相同的視圖來創建一個新的實體。但由於集合爲空,它會崩潰。我怎樣才能確保它呈現編輯器?
達林,你是否暗示循環應該放在EditorTemplate中?所以,如果風險集合是空的,那麼它將不會被渲染。好的,但是如果我想創造一個新的風險呢?我需要在屏幕上呈現一些空的控件。 – Sam
@ user1098555,我暗示你不應該使用任何循環。擺脫它。 ASP.NET MVC將自動識別風險是一個集合,併爲該集合的每個元素呈現相應的編輯器模板。它會爲你做,這樣你就不必編寫任何循環。你所要做的就是把'@ Html.EditorFor(m => m.Risks)'放在我的答案中。 –
我需要一個循環,因爲我在ViewModel中使用繼承,並且編輯器模板應該根據集合中Risk的類型而不同。是否有意義 ? – Sam