2016-08-05 2 views
1

Раскрывающийся список должен отображать элементы с различными цветами текста. Цвет определяется серверной стороной. Использует теги <style> в сравнении с стилистикой CSS. Смотрите пример:ASP: DropDownList Codebehind Добавить цвет

protected void Page_Load(object sender, EventArgs e) 
    { 
     ListItem li = CreateListItemWithColor("Hello", "myValue", "blue"); 
     employeeDropDownBox.Items.Add(li); 

    } 
public ListItem CreateListItemWithColor(string text, string value, string color) 
    { 
     //Create the list item based on input text/value 
     ListItem li = new ListItem(); 
     li.Text = text; 
     li.Value = value; 
     li.Attributes.Add("style", "color="+color); 
     return li; 
    } 

Из того, что я читал в других SO сообщений о форматировании текста элемента списка, моя общая процедура кажется близко. Но мой ListItem всегда черный. Что мне не хватает?


Сокращенный HTML:

<style> 
    #employeeDropDownBox { 
     height: 65px; 
     width: 425px; 
     font-size: 27px; 
     margin-left: 5px; 
    } 

</style> 

<div> 
    <asp:DropDownList ID="employeeDropDownBox" runat="server" ></asp:DropDownList> 
</div> 
+0

Я не думаю, что отдельные 'option' элементы в' select' даже * может * быть стилизованной. Это всегда было проблемой в веб-разработке, поскольку разные хосты отображают элементы 'select' по-своему. Как правило, решение заключалось в использовании плагинов JavaScript для создания пользовательских элементов, которые имитируют поведение 'select' и синхронизируются со скрытым' select'. – David

+0

См. Http://stackoverflow.com/questions/2609344/how-to-format-individual-dropdownlist-items-color-etc-during-ondatabinding-e –

+0

@MehdiDehghani Дополнительный файл css не нужен. Я изменяю другие атрибуты управления ASP, используя теги '