Lista dinâmica de caixas de seleção e encadernação de modelos

Estou tentando criar uma exibição que contém uma lista de caixas de seleção criadas dinamicamente a partir de um banco de dados e, em seguida, recuperar a lista de caixas selecionadas quando o formulário é postado novamente.

Meu modelo EF contém uma classe:

public class ItemIWouldLikeACheckboxFor {
    public int Id { get; set; }
    public string Description { get; set; }
}

Eu tenho um modelo de exibição que contém uma lista destes:

public class PageViewModel {
    // various other properties
    public List<ItemIWouldLikeACheckboxFor> checkboxList { get; set; }
}

Meu controlador get método:

public ActionResult Create() {
    var viewModel = new PageViewModel();
    viewModel.checkboxList = db.ItemIWouldLikeACheckboxFors.ToList();
    return View(viewModel);
}

Minha visão:

<% using (Html.BeginForm()) { %>
    <%-- other stuff here... %>

    <% foreach (var item in checkboxList) { %>
        <%: Html.CheckBox( <!-- what exactly ?????? -->) %>
    <% } %>

    <%-- other stuff here...%>
    <input type="submit" />
<% } %>

Meu método de postagem do controlador:

[HttpPost]
public ActionResult Create(PageViewModel viewModel) {
    // do stuff with other fields

    // I would like to do something like:
    foreach (var item in selectedCheckBoxes) {
        // do stuff
    }
}

Parece que não consigo fazê-lo funcionar. Minhas perguntas básicas são misturadas como comentários nos trechos de código, mas para recapitular:

O meu modelo de exibição está OK? (preciso adicionar algo para capturar os selecionados, em vez de simplesmente a lista a ser exibida?)O que exatamente devo colocar na exibição para renderizar cada caixa de seleção?Como acesso as caixas de seleção selecionadas no controlador após a postagem?

questionAnswers(2)

yourAnswerToTheQuestion