我似乎无法弄清楚这一点。我有一个asp DropDownList控件。这将从我从SQL获得的数据的类列表中填充。 DropDownList在ASP中继器中。我添加了一个OnSelectedIndexChanged属性到引发C#方法的asp控件。我在DropDownList的初始化方法中有一些逻辑,它将特定项目的文本颜色设置为红色(取决于该项目类中的值)。无论何时选择该项目,文本都不是红色的。当文本是列表中的项目时,该文本仅为红色。我怎样才能改变所选项目的颜色?我似乎无法弄清楚这一点。我需要C#端的OnSelectedIndexChanged方法来触发一个事件来过滤另一个选择器。所以我在选择器改变时已经发射了一个事件。不过,我已经尝试以下内容:Jquery或Javascript来改变一个选定的DropDownList的文本颜色项目
protected void ddlItem_SelectedIndexChanged(object sender, EventArgs e)
{
if (sender != null)
{
DropDownList DropDownList1 = (DropDownList)sender;
DropDownList1.SelectedItem.Attributes.Add("color", "Red;");
}
}
上述不起作用。但我不认为这是问题。在检查元素之后(在上述实现之前),样式颜色属性已经设置为红色。这些不适用于当前选择的项目吗?
我能够通过设置forecolor来设置整个列表的文本颜色。但我无法设置单个元素的前景色。
我强烈建议您尽量避免通过代理ForeColor,BackColor属性间接设置HTML元素内联样式的方便MS路径。我真的认为你会很好地学习CSS和jQuery,以更好地控制你的UI,或者至少在你的控件上设置CSS类而不是直接设置样式颜色。尝试使HTML结构与样式保持分离,以便日后维护和更改。 –