Я пытаюсь получить представление о публикации списка обратно к действию, однако оно продолжает отображаться как нулевое.
Итак, моя модель имеет список объектов WeightEntry.
Модель для упражнений
public class Exercise
{
public List<WeightEntry> Entries { get; set; }
public int ExerciseID { get; set; }
public int ExerciseName { get; set; }
}
Модель WeightEntry
public class WeightEntry
{
public int ID { get; set; }
public int Weight { get; set; }
public int Repetition { get; set; }
}
My View содержит имя ExerciseName и цикл объектов WeightEntry
@model Mymvc.ViewModels.Exercise
...
<span>@Model.ExerciseName</span>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<table class="left weight-record">
<tr>
<th>Reps</th>
<th>Weight</th>
</tr>
@foreach (var item in Model.Entries)
{
<tr>
<td>
@Html.EditorFor(x => item.Repetition)
</td>
<td>
@Html.EditorFor(x => item.Weight)
</td>
</tr>
}
</table>
<input type="submit" value="Save" />
}
Действие контроллера (сообщение) в данный момент ничего не делает. Я просто пытаюсь заставить работать привязку, прежде чем добавить код сохранения.
[HttpPost]
public ActionResult WeightEntry(Exercise exercise)
{
try
{
//Add code here to save and check isvalid
return View(exercise);
}
catch
{
return View(exercise);
}
}
Я видел несколько маленьких хитростей с добавлением числителя к именам элементов формы, используемых в MVC2, но мне было интересно, отличался ли MVC3 от других? Я надеялся, что все будет хорошо привязано к ID, равному 0 или нулю, но вместо этого весь список будет нулевым, когда я проверяю его после публикации формы. Любая помощь приветствуется.
Спасибо.