MVC CheckBoxList modèle de liaison avec les booléens

Je veux lier une Liste de Case à cocher et d'obtenir les valeurs sélectionnées. J'ai besoin d'afficher deux Case de tables et de récupérer à la fois les Identifiants.

Ci-dessous est mon ViewModel

public partial class ViewModel_Role_Security
{
    public List<Roles> oRoleMaster { get; set; }
    public List<Securities> oSecurityMaster { get; set; }

}

Tous les ces trois ces deux valeurs
1. ID
2. Nom (Dans ce cas pour le Rôle - ID, RoleName | pour les Titres - ID, SecurityName ...)
//ajout d'un 3ème propriété de type boolean isselected, afin de travailler avec des cases à cocher seulement puis vous obtiendrez posté retour
Ces ne pas ont tout boolean valeurs

À l'aide de ce Dernier, je suis de liaison de ces éléments à l'aide de la méthode ci-dessous...

public ActionResult AddingRoleSecurity()
{        
    ListRoles = new List<Roles>();
    ListSecurities = new List<Securities>();  //And then populate them with data ...

    var model = new ViewModel_Role_Security();
    model.oRoleMaster = ListRoles;
    model.oSecurityMaster = ListSecurities;
    return View(model);
}

Mon correspondant cshtml fichier est..

@model KnackWFM.BusinessEntities.ViewModel_Role_Security

@using (Html.BeginForm())
{
    <div class="contentsecurity">

        <div class="User_role">
            <p class="Security_role">User Role</p>

            @for (int i = 0; i < Model.oRoleMaster.Count; i++)
            {
                <input id="@Model.oRoleMaster[i].RoleID" name="@Model.oRoleMaster[i].RoleName" type="checkbox" value="@(Model.oRoleMaster[i].RoleName)" />
                <label for="@Model.oRoleMaster[i].RoleID">@Model.oRoleMaster[i].RoleName</label>
                <br />
                @Html.CheckBoxFor(Model.oRoleMaster[i].RoleID.selec)
            }

        </div>

        <div class="User_Page">
            <p class="Security_role">Role Security</p>

            @for (int i = 0; i < Model.oSecurityMaster.Count; i++)
            {
                <input id="@Model.oSecurityMaster[i].SecurityID" name="@Model.oSecurityMaster[i].SecurityName" type="checkbox" value="@(Model.oSecurityMaster[i].SecurityName)" />
                <label for="@Model.oSecurityMaster[i].SecurityID">@Model.oSecurityMaster[i].SecurityName</label>
                <br />
            }

        </div>
        <div class="bottombuttonsecurity">
            <button type="submit" id="btnSave" name="Command" value="Save" style="background-color: #3d3c4c;border-radius: 8px;color: white;padding: 5px;border: 1px solid #3d3c4c;">Save</button>
        </div>
    </div>
}

Pour laquelle j'obtiens le résultat suivant,
MVC CheckBoxList modèle de liaison avec les booléens

Je voudrais pour obtenir les valeurs contrôlées comme un modèle.

J'ai un HttpPost méthode comme ça, mais il renvoie des valeurs null.

[HttpPost]
public ActionResult AddingRoleSecurity(ViewModel_Role_Security model)
{
    return View();
}

S'il vous plaît laissez-moi savoir comment puis-je obtenir le activée valeurs dans le modèle?

Merci beaucoup!

Comment peut-case valeur de type string? Une case à cocher valeur doit toujours être vraie ou fausse. Pourquoi voulez-vous lier une chaîne de type case à cocher?
Dans AddingRoleSecurity méthode d'action, vous avez mentionné le modèle que ViewModel_Role_Security et à votre avis, vous avez mentionné le nom du modèle, comme ViewModel_User_Role_Security_Page ceux de remorquage ne correspondaient pas qui de l'autre c'est le problème je pense
Salut, je veux obtenir l'sélectionnés Id de la sélection. Comment pourrais-je définir la valeur de modèle lorsque le modèle ne marche pas toute boolean
merci, c'était une faute de frappe.. c'est pas le problème
Utiliser des modèles de vue pour Roles et Securities inclut une propriété bool IsSelected de sorte que vous pouvez l'utiliser correctement un typage fort des aides dans les collections

OriginalL'auteur indiaxxo | 2014-12-18