我正在使用ASP.NET MVC,并尝试使用HtmlHelper.DropDownListFor方法呈现选择列表,如下所示:
<%= Html.DropDownListFor(x => x.AllTopics, SelectListHelper.GetSelectListItems(Model.AllTopics), "Select a Topic", new { id = "allTopics", @class = "topic-dropdown" })%>
其中SelectListHelper只是从我们传入的任何集合中返回一个
IList<SelectListItem>
。这对于简单的东西很好用,但是我希望能够为每个选项标记添加一个title属性(而不是,选择列表本身) 。但是DropDownListFor只接受IEnumerable<SelectListItem>
,而SelectListItem没有可以放置在title属性中的任何地方。有什么方法可以执行此操作而无需使用DropDownListFor方法并手动写出选择列表和每个元素?
最佳答案
DropDownList和派生类不支持您要寻找的功能。但是您也可以简单地处理DropDownList返回的字符串。
<%=
Html.DropDownListFor(x => x.AllTopics,
SelectListHelper.GetSelectListItems(Model.AllTopics),
"Select a Topic",
new { id = "allTopics", @class = "topic-dropdown" })
.Replace("<option", "<option attr=\"value\"")
%>
关于asp.net - ASP.NET MVC:将自定义属性放入选择列表中的选项标签中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1829566/