2010-08-20 5 views

Répondre

2

Dans votre modèle ...

public class UserEditModel { 
    public string UserName { get; set; } 
    public string[] Role { get; set; } 
} 

Selon vous ...

<%: Html.TextBoxFor(x = x.UserName)<br /> 
<input type="checkbox" name="role" id="role_Administrator" value="Administrator" /> 
<input type="checkbox" name="role" id="role_Create_Project" value="Create Project" /> 
<!-- etc --> 

Oui, vous devez écrire HTML brut pour ce scénario. Cela va se lier correctement avec les valeurs par défaut de MVC. Le CheckBoxFox par défaut fonctionne vraiment bien avec les liaisons True/False. Quelque chose comme

<%: Html.CheckBoxFor(x => x.AcceptLicenseTerms) %> 

ou

<%: Html.CheckBoxFor(x => x.RememberMe) %> 
+0

Merci, très utile !! –

+0

désolé je suis un peu confus ce que j'ai tous à faire ici. merci pour l'introduction :)! –

+0

Je pense que ce scénario particulier (votre code) est mieux adapté pour un type de sélection de type bouton radio-groupe. – JoseMarmolejos

0

Les cases à cocher sont lus comme « vrai » ou « faux », c'est qu'ils sont un type booléen. Ce que vous pouvez faire est d'avoir un viewmodel avec une propriété IsAdmin et ensuite vérifier dans votre contrôleur si la propriété est vraie.

// View 
<%: Html.CheckBoxFor(model => model.IsAdmin) 

// Controller 
If(viewModel.IsAdmin) 
{ 
    doYourStuff(); 
} 
+0

Merci, très utile !! –

Questions connexes