0
我试图创建一个表单,允许编辑多行数据。我没有问题循环并获取输入框来呈现...我只是无法获得正确输出的名称属性。EditorFor with集合和名称属性
我知道,为了提交一个集合,你需要回发一个索引名称,其中该指数连续从0开始
<input name="Books[0].Title" />
<input name="Books[1].Title" />
and so on...
现在,我可以得到EditorFor函数输出我的正式名称给定下面的循环代码
@For n = 0 To (Model.Books.Count - 1)
@Html.EditorFor(Function(m) Model.Books.Item(n).Title)
Next
给我
<input name="Books[0].Title" />
<input name="Books[1].Title" />
and so on...
我的问题是VS显示以下警告
在lambda表达式中使用迭代变量可能会产生意外的结果。相反,在循环内创建一个局部变量并为其分配迭代变量的值。
然而,当我改变环路
@For n = 0 To (Model.Books.Count - 1)
Dim item = Mode.Books.Item(n)
@Html.EditorFor(Function(m) item.Title)
Next
我得到
<input name="$VB$Local_item.Title" />
<input name="$VB$Local_item.Title" />
and so on...
有什么想法?我应该忽略这个警告吗?
谢谢。
- 杰森
它实际上是Razor引擎,而不是MVC,这样做.. – jmoreno 2017-11-16 01:35:06