72 votes

Valeur par défaut dans un modèle de vue asp.net mvc

J'ai ce modèle :

public class SearchModel
{
    [DefaultValue(true)]
    public bool IsMale { get; set; }
    [DefaultValue(true)]
    public bool IsFemale { get; set; }
}

Mais d'après mes recherches et les réponses ici, DefaultValueAttribute ne définit pas réellement une valeur par défaut. Mais ces réponses datent de 2008. Existe-t-il un attribut ou un meilleur moyen que l'utilisation d'un champ privé pour définir ces valeurs à true lorsqu'elles sont transmises à la vue ?

Voici la vue en tout cas :

@using (Html.BeginForm("Search", "Users", FormMethod.Get))
{
<div>
    @Html.LabelFor(m => Model.IsMale)
    @Html.CheckBoxFor(m => Model.IsMale)
    <input type="submit" value="search"/>
</div>
}

-3voto

Que prendrez-vous ? Vous allez probablement vous retrouver avec une recherche par défaut et une recherche que vous chargez depuis quelque part. La recherche par défaut nécessite un constructeur par défaut, donc faites-en un comme Dismissile l'a déjà suggéré.

Si vous chargez les critères de recherche à partir d'un autre endroit, vous devriez probablement avoir une logique de mappage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X