财产的集合,从中集隐藏字段都被填充:MVC - >绑定到自定义类型
public abstract class MyPageView
{
[UIHint("List")]
public IEnumerable<IOption> OptionList { get; set; }
}
命令这样做:
@Html.EditorFor(m => m.OptionList)
的规定实行“名单“模板:
@model IEnumerable<RoomWanted.FlatShare.Services.ViewModels.Options.IOption>
@for (int i = 0; i < Model.Count(); i++)
{
@Html.HiddenFor(x => Model.ToList()[i].Id)
@Html.HiddenFor(x => Model.ToList()[i].Name)
}
我得到生成了什么:
<input id="OptionList__0__Id" name="OptionList.[0].Id" type="hidden" value="1" />
<input id="OptionList__0__Name" name="OptionList.[0].Name" type="hidden" value="New York" />
什么我需要生成,使模型正确结合的作品:
<input id="OptionList_0__Id" name="OptionList[0].Id" type="hidden" value="5"></input>
<input id="OptionList_0__Name" name="OptionList[0].Name" type="hidden" value="New York"></input>
如何摆脱点的任何想法,所以我有OptionList[0].Id
,而不是OptionList.[0].Id
?
干杯。
我从来没有理由保存隐藏输入字段的集合。你有什么理由这样做? – Elisabeth 2013-03-17 15:51:58
除了填充隐藏的输入字段,我实际上是使用帮助器Html.DropDownListFor()填充
实际用途是我想为'IEnumerable OptionList'编写自定义的服务器端验证器,所以我需要将数据绑定回模型。 –
2013-03-17 18:22:27