我创建了一个视图来编辑我的模型。的看法是强类型和在一个点上我做了以下内容: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