У меня работает следующий код:
@for (var index = 0; index < Model.AdminSummaries.Count(); index++) {
<div class="rep_td0" id="rk_@(index)">
@Model.AdminSummaries[index].RowKey
</div>
<div class="rep_td0">
@Html.DropDownListFor(
x => x.AdminSummaries[index].Status,
new SelectList(
AdminStatusReference.GetAdminStatusOptions(),
"Value",
"Text",
),
new { id = string.Format("Status_{0}", index) }
)
Я перебираю Model.AdminSummaries, который имеет тип
public IList<AdminSummary> AdminSummaries { get; set; }
Поскольку это IList, я могу использовать индексированиеи x => x.AdminSummaries [index] .Status работает, чтобы получить правильный статус для каждой строки, а также есть номер индекса, который я могу использовать для изменения идентификатора элементов для каждой строки.
Теперь у меня естьпроблема.Я хочу применить тот же метод кода к следующему, который является классом в моей модели с аналогичными полями для AdminSummaries (включая поле Status):
public ICollection<Item> Items { get; set; }
Поскольку это ICollection, я думаю, что не могу получить доступ к элементамиспользуя [index]
Я могу использовать foreach, но КАК я могу указать значение состояния для первого параметра DropDownListFor?Также, как я могу получить значение индекса, чтобы я мог индексировать поля в строках.
Обновление
Точка индекса была чем-то, что я добавил к исходному вопросу.Важно, что решение может сделать что-то вроде следующего, чтобы я мог позже использовать jQuery для полей формы.
id="rk_@(index)"