0

我有一个 asp.net mvc 页面,我想要一个像这个页面一样具有不同背景颜色的下拉列表

我有以下代码来显示下拉列表

<label>Data Source: </label><% = Html.DropDownList("DataSource", Model.CalendarDataSources, new { @id = "calendarDSDropdown", @class = "calendarDSDropdown" })%>

在我的视图模型中,我有:

    public IEnumerable<SelectListItem> CalendarDataSources;

我在服务器上填充。我想为每个 SelectListItem 添加不同的积压,但我看不到如何执行此操作,因为选择列表项只有名称、ID、选定属性

这可能吗

4

1 回答 1

1

不幸的是,内置DropDownList助手不允许您在生成的标签上设置style属性。option你将不得不滚动你自己的助手来实现这一点。

作为替代方案,您可以使用 jQuery 设置颜色:

$(function() {
    $('select#DataSource option').each(function() {
        var option = $(this);
        option.css(
            'background-color', 
            someFunctionThatMapsTheOptionValueToAColor(option.val())
        );
    });
});
于 2010-09-02T11:13:26.983 回答