使用 - (连字符)在名称中添加自定义属性

如果你需要通过名称中包含 - (连字符)的剃刀添加属性,则不能简单地执行

@Html.DropDownListFor(m => m.Id, Model.Values, new { @data-placeholder = "whatever" })

它不会编译。data- *属性在 html5 中是有效且常见的,用于向元素添加额外值。

但是以下方法可行

@Html.DropDownListFor(m => m.Id, Model.Values, new { @data_placeholder = "whatever" })

因为“_”在渲染时被替换为“ - ”。

这很好用,因为 html 中的属性名称不接受下划线。