1º 如果“model.count()”是5,那么@ Html.EditorForModel(Model.ElementAt(i))是如何工作的。为什么我得到“5 * 5”元素的维度?
@model List<model>
@for (int i = 0; i < Model.Count();i++ )
{
@Html.EditorForModel(Model.ElementAt(i))
}
实际上给我5个元素的唯一尝试是:
@model List<model>
@Html.EditorForModel(Model)
2ª 在模型的模板中,我使用Javascript来更改model.Numbers的值,使用“GetElementById(”NumbersX“)”:
@Html.TextBoxFor(m => m.Numbers, new { id = "NumbersX" })
是否有人知道更好的实施方法或已实施的功能来执行此任务?
答案 0 :(得分:1)
EditorForModel
输出整个模型的编辑器。
你的模型有五个元素,所以一个“整个编辑器”是五个元素 你称之为五次,所以你得到5x5元素。
您可能打算致电EditorFor
,而不是EditorForModel
。
@Html.EditorFor(m => m.ElementAt(i))
但是will not work as you expect也是。但是,因为您将List作为模型,所以可以使其正常工作:
@Html.EditorFor(m => m[i])
overload you are calling接受Object additionalViewData
作为参数。你传递了一个lambda,好像你正在调用EditorFor
,而lambda只是什么也没做。