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
?
Приветствия.
1 ответ
Используйте IList<IOption>
или же IOption[]
вместо:
public abstract class MyPageView
{
[UIHint("List")]
public IList<IOption> OptionList { get; set; }
}
а потом по вашему мнению:
@model IList<RoomWanted.FlatShare.Services.ViewModels.Options.IOption>
@for (int i = 0; i < Model.Count; i++)
{
@Html.HiddenFor(x => x[i].Id)
@Html.HiddenFor(x => x[i].Name)
}