How to specify data attributes in razor, e.g., data-externalid="23151" on @this.Html.CheckBoxFor(...)
@this.Html.CheckBoxFor(m => m.MyModel.MyBoolProperty, new { @class="myCheckBox", extraAttr="23521"})
With razor, I'm unable to specify values for data- attributes such as data-externalid="23521"
Is there a way to do this using @this.Html.CheckBoxFor(...)
?
Solution 1:
@Html.CheckBoxFor(
m => m.MyModel.MyBoolProperty,
new {
@class = "myCheckBox",
data_externalid = "23521"
}
)
The _
will automatically be converted to -
in the resulting markup:
<input type="checkbox" name="MyModel.MyBoolProperty" data-externalid="23521" class="myCheckBox" />
And that's true for all Html helpers taking a htmlAttributes
anonymous object as argument, not only the CheckBoxFor
helper.