How to specify data attributes in razor, e.g., data-externalid=”23151″ on @this.Html.CheckBoxFor(…)

@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.

Leave a Comment