Я предполагаю, что ваша модель для просмотра альбома похожа на @model Album
.
Ваша модель будет:
class Track
{
....
....
bool IsSelected;
}
А затем ваш взгляд:
@using (Html.BeginForm()){
for (int i = 0; i < Model.Tracks.Count(); i++) {
@Html.CheckBoxFor(m => m.Tracks[i].IsSelected)
@Model.Tracks[i].Name
}
}
Таким образом, ваш контроллер может быть таким:
[HttpPost]
public ActionResult Details(Album album, FormCollection fc)
{
album.Tracks;//should contain your tracks
album.Tracks[0].IsSelected;//should return if it was selected
fc["abd"];//should return which element was selected.
return View();
}
Ваше представление должно быть таким, чтобы html правильно отображался, а значения были правильно привязаны к вашему контроллеру.
Вам также необходимо использовать строго типизированные методы (заканчивающиеся на для )связать другие значения обратно в ваш контроллер.И вы, вероятно, захотите использовать @Html.HiddenFor(m=>m.Id)
, чтобы создать скрытое поле для альбома, чтобы вы знали, какой альбом опубликован обратно.