IEnumerable的mvc3表单
我有一个模型,我希望有一个大规模更新页面,但有麻烦。
我的ViewModel:
public class ApproveView
{
public IEnumerable<MyObject> ObjectList { get; set; }
}
在我看来,我有:
foreach (var item in Model.ObjectList)
{
<div>
<table class="form" width="100%">
<tr>
<td>@Html.LabelFor(model => item.Accurate)<br />
@Html.RadioButtonFor(model => item.Accurate, true) Yes
@Html.RadioButtonFor(model => item.Accurate, false) No
@Html.ValidationMessageFor(model => item.Accurate)
</td>
<td>
@Html.LabelFor(model => item.Comments)<br />
@Html.TextAreaFor(model => item.Comments)<br />
@Html.ValidationMessageFor(model => item.Comments)
</td>
</tr>
</table>
@Html.HiddenFor(model => item.ID)
@Html.HiddenFor(model => item.CreatedOn)
@Html.HiddenFor(model => item.CreatedBy)
@Html.HiddenFor(model => item.ModifiedOn)
@Html.HiddenFor(model => item.ModifiedBy)
<hr />
}
这遍历我的对象并打印表单。 麻烦的是所有相同类型的字段都有相同的名称。 所以,例如,我所有的单选按钮都已连接,我只能选择一个。
我如何为每个字段设置唯一名称并与该对象关联? 我是否在正确的轨道上,或者有更好的方法来做到这一点?
检查这篇文章:http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
您需要为您的实体创建编辑器。
希望能帮助到你。
你也可以手动做一些:
@{var count = 0;}
@foreach (var item in Model.ObjectList){
<div>
<table class="form">
<tr>
<td>@Html.Label("Accurate" + count, item.Accurate)<br />
@Html.RadioButton("AccurateTrue" + count, true) Yes
@Html.RadioButton("AccurateFalse" + count, false) No
@Html.ValidationMessage("ValidationAccurate" + count, item.Accurate)
</td>
<td>
@Html.Label("CommentsLabel" + count, item.Comments)<br />
@Html.TextArea("Comments" + count, item.Comments)<br />
@Html.ValidationMessage("ValidationComment" + count, item.Comments)
</td>
</tr>
</table>
@Html.Hidden("ID" + count, item.ID)
@Html.Hidden("CreatedOn" + count, item.CreatedOn)
@Html.Hidden("CreatedBy" + count, item.CreatedBy)
@Html.Hidden("ModifiedOn" + count, item.ModifiedOn)
@Html.Hidden("ModifiedBy" + count, item.ModifiedBy)
<hr />
@count++;
@}
链接地址: http://www.djcxy.com/p/54839.html