问题:我需要像这样创建一个下拉列表:
<select id="ddCustomers" data-placeholder="Choose a customer" class="chzn-select" style="width:350px;" tabindex="1" multiple>
现在我可以像这样添加自定义属性:
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled" })
不幸的是,如果变量名中有一个“-”,那么它不会编译。
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled", @data-placeholder = "whatever" })
那么没有属性值的倍数呢?
如果我传递字典或 NameValueColletion 而不是 new { @disabled = "disabled"}
,那么它会输出 NameValueColletion/Dictionary 的属性...
如何在属性键中传递带有特殊字符的属性?
最佳答案
改用下划线
@data_placeholder = "whatever"
由于 Mvc3 在渲染时“_”被替换为“-”。这也适用于 Mvc5。
这很好用,因为下划线在 html 的属性名称中是 Not Acceptable 。
关于c# - 带有自定义属性的 DropDownListFor - 在属性名称中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12759396/