Dans MVC / Razor, comment puis-je obtenir les valeurs de plusieurs cases à cocher et les transmettre au contrôleur?

J'ai vue avec une liste d'éléments à partir d'un modèle. J'ai besoin d'ajouter une case à cocher pour chaque ligne, demandez à l'utilisateur de sélectionner plusieurs cases à cocher, et passer quelques identificateur de ce ligne a été sélectionné pour le contrôleur. Je sais comment passer une seule valeur par le biais d'un lien d'action, mais je ne suis pas sûr de la façon de passer plusieurs valeurs par le biais d'un lien d'action ou de la façon de "recueillir" les lignes qui ont été sélectionnés. Je vais vous montrer certains de mes code tente ci-dessous. Quelqu'un peut-il m'aider à trier pourquoi je ne peux pas obtenir les valeurs de toutes les cases transmis au contrôleur?

Voici ma page

Checkbox     App ID     Date     Name
   []          1        5/10     Bob
   []          2        5/10     Ted
   []          3        5/11     Alice

Ce que j'ai besoin de l'utilisateur à faire est de sélectionner des lignes 1 & 3 (par exemple), celles-App ID est transmis au contrôleur.

J'ai commencé à inscrire des tentatives diverses, mais simplement décidé de montrer mon essai en cours et voir si quelqu'un peut ce que je fais mal. La principale différence que je vois entre les exemples en ligne et la mienne est celle de la mine utilise un PagedList et crée les lignes de la table dans une boucle foreach.

Le paramètre ints est vide quand il frappe le contrôleur. Comment puis-je obtenir les valeurs des cases à cocher? J'ai utilisé ce site pour l'idée de base de nommer toutes les cases de la même, et en passant une ICollection à travers le lien d'action:
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/

Vue:

@model PagedList.IPagedList<CarmelFinancialWeb.Models.ModelMerchantSummary>
<div class="block" style="width: 100%; float: left">
<p class="block-heading"> 
Merchant Application Report
</p>
<div class="table-holder">
    <table class="table" style="margin-bottom: 0px">
            <tbody>
                @foreach (var item in Model)
                {
                    <tr>
                        <td>
                            <input type="checkbox" name="ints" value=item.ApplicationID />
                        </td>
                    <td>
                        @Html.ActionLink(item.ApplicationID.ToString(), "ViewApplication", new { ID = item.ApplicationID, edit = 1 }, new AjaxOptions { HttpMethod = "GET" })
                    </td>
                    <td>
                        @Convert.ToDateTime(item.ApplicationDate).ToString("M/d/yy")
                    </td>
                    <td>
                        @item.ApplicantName
                    </td>
        </tbody>
    </table>
</div>
</div>
@Html.ActionLink("Print Application", "PrintApplication", "CreateContract", new { @class = "btn btn-primary" })

Contrôleur:

    [AuthorizeAdmin]
    public ActionResult PrintApplication(ICollection<int> ints, string ID)
    {
        Contracts_Create contract = new Contracts_Create();
        ModelApplication currentApplication = new ModelApplication();
        currentApplication.contract = new ModelContract();
        return File(contract.CreatePDF_PrintedApplication_English(currentApplication.contract.location, currentApplication.contract), "application/pdf");
    }

Edit:
Ça a été étiqueté comme un doublon d'une autre question. La question était de savoir si la non-séquentielle des noms d'entrée pourrait être utilisé. Mon problème est que je suis à l'utilisation des intrants qui ne sont pas des non-séquentielle, mais il ne fonctionne toujours pas. Je comprends le concept, je ne peux pas comprendre pourquoi mon code ne fonctionne pas. J'ai mis beaucoup de temps à cela et ne peut pas trouver la réponse à mon code spécifique. Merci!

source d'informationauteur boilers222