web-dev-qa-db-fra.com

Comment spécifier des attributs de données dans rasoir, par exemple, data-externalid = "23151" on @ this.Html.CheckBoxFor (...)

@this.Html.CheckBoxFor(m => m.MyModel.MyBoolProperty, new { @class="myCheckBox", extraAttr="23521"})

Avec rasoir, je ne peux pas spécifier de valeurs pour des attributs de données tels que data-externalid="23521"

Est-il possible de faire cela en utilisant @this.Html.CheckBoxFor(...)?

114
Ian Davis
@Html.CheckBoxFor(
    m => m.MyModel.MyBoolProperty, 
    new { 
        @class = "myCheckBox", 
        data_externalid = "23521"
    }
)

Le _ sera automatiquement converti en - dans le balisage résultant:

<input type="checkbox" name="MyModel.MyBoolProperty" data-externalid="23521" class="myCheckBox" />

Et cela est vrai pour tous les assistants HTML prenant un objet anonyme htmlAttributes comme argument, et pas seulement pour l’aide CheckBoxFor.

245
Darin Dimitrov