J'ai un ASP.Net MVC 3 application web et je suis l'ajout d'une case à cocher pour afficher la page à l'aide de la classe HtmlHelper, comme ça...
@Html.CheckBox("CheckBox1", true, new { @class = "Class1" })
Ce que je veux faire est conditionnellement ajouter les handicapés attribut basé sur une vue de l'état de la propriété. Fondamentalement, le suivant serait l'idéal...
@Html.CheckBox("CheckBox1", true, new { @class = "Class1", @disabled = Model.ReadOnly })
Malheureusement, en raison de la nature de l'désactivé attribut, cela ne fonctionnera pas, car toute valeur attribuée aux personnes à mobilité réduite attribut (même les "faux") sera traduit comme vrai.
J'ai déjà pensé à quelques solutions pour contourner ce problème, donc la question n'est pas comment le faire. Mais plutôt, est-il une manière simple comme la méthode souhaitée ci-dessus? ou dois-je avoir recours à l'une des opérations suivantes?..
Ce que je sais que je pourrais faire...
Créer un if/else et écrire à différents
Html.CheckBox
des lignes (pas génial pour des raisons de lisibilité - et possible avec un jet de mark-up d'avertissement - ne sais pas)Sautez la classe HtmlHelper et écrire à la main la balise permettant de mieux conditionnellement attributs (qui garde le code plus court, mais ajoute l'incohérence)
Créer un helper personnalisé qui prend "personnes handicapées" du paramètre (la solution la plus propre, mais nécessite indésirables méthodes supplémentaires - sans doute la meilleure option si loin tout de même)