Html.EditorFor модель, а не свойство, в MVC4

89
9

У меня есть следующее представление:

<fieldset>
<legend>CreateCardViewModel</legend>

<div class="editor-field">
@Html.EditorFor(model => model.SetId)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.DateCreated)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DateCreated)
@Html.ValidationMessageFor(model => model.DateCreated)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.IsReady)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.IsReady)
@Html.ValidationMessageFor(model => model.IsReady)
</div>

@foreach (var side in Model.Sides)
{
@Html.EditorFor(model => model.Sides[side.SideId])
}

<p>
<input type="submit" value="Create" />
</p>
</fieldset>

Этот фрагмент:

@foreach (var side in Model.Sides)
{
@Html.EditorFor(model => model.Sides[side.SideId])
}

Отображает редактируемые поля для всех свойств модели Sides. Каков наиболее подходящий способ определить, какие поля должны быть доступны для редактирования в этом списке?

спросил(а) 2021-01-25T23:54:10+03:00 4 месяца, 4 недели назад
1
Решение
63

Вместо этого используйте цикл for:

@for (int i = 0; i < Model.Sides.Count; i++) {
@Html.EditorFor(x => x.Sides[i])
}

ответил(а) 2021-01-25T23:54:10+03:00 4 месяца, 4 недели назад
45

Поцарапайте это - я понял, что могу сделать следующее:

@for (int i = 0; i < Model.Sides.Count; i++)
{
@Html.EditorFor(x => x.Sides[i].Content)
@Html.EditorFor(x => x.Sides[i].IsFront)
@Html.EditorFor(x => x.Sides[i].Stage)
}

ответил(а) 2021-01-25T23:54:10+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема