如何使用EditorFor一个foreach内
-
22-09-2019 - |
题
我有一个模型:
public class MyListModel
{
public int ID {get;set;}
public List<User> Users{get;set;}
}
如何使用Html.EditorFor方法一个foreach内?
@model MyListModel
<table>
<tr>
<th></th>
</tr>
@foreach (var item in Model.Users) {
<tr>
<td>
@Html.EditorFor(item.Enabled)
</td>
</tr>
}
</table>
解决方案
@Html.EditorFor(x=> item.Enabled)
它已经多次指出的是张贴这样的模式回服务器不会在默认情况下,MVC工作。
为在一个循环中与EditorFor
正确编辑 - for
应作为在:
@for(var i = 0; i< Model.Users.Count;i++){
Html.EditorFor(i=>Model.Users[i])
}
其他提示
@for (var i = 0; i < Model.Users.Count; i++)
{
<tr>
<td>@Html.EditorFor(model => model.Users[i].Enabled)</td>
<td>@Html.EditorFor(model => model.Users[i].FirstName)</td>
<td>@Html.EditorFor(model => model.Users[i].LastName)</td>
</tr>
}
加的用户的至少一个属性一些隐变量是必需的:
@for (var i = 0; i < Model.Users.Count; i++)
{
@Html.HiddenFor(model => model.Users[i].FirstName)
}
不是你会叫优雅,但它相对于工作在你的岗位活动绑定。
是否有明确使用自己foreach
任何其它原因(例如开)?你可以做的User class
,使@Html.EditorFor(model=>model.Users)
自定义编辑器(或显示器)帮手。剃刀将在内部使用的foreach
用于与自己的自定义帮助器处理每个元素。
对于那些来访的问题跟真的不知道如何管理这种情况下,只是一个想法。
不隶属于 StackOverflow