【发布时间】:2018-01-03 16:05:53
【问题描述】:
我在发帖之前检查了这个,没有发现任何问题。
我有一个下拉列表,我在最后手动附加了一个项目。我想为这个项目使用一些其他颜色,比如红色,以将它与其他项目区分开来。我可以做这部分。但是,当我选择该项目时,下拉列表中的选定项目中的文本不是红色的。我不确定是否有任何方法可以访问它以便对其应用样式。
这是我使用的(假设下拉菜单中最后一项的“值”为 0):
ListItem li = ddl1.Items.FindByValue("0");
if (null != li)
{
li.Attributes.Add("style", "color:red");
}
上述作品将最后一项涂成红色。当我选择最后一项并希望所选项目以相同的红色显示时,以下内容不起作用:
ListItem li = ddl1.Items.FindByValue("0");
if (null != li)
{
li.Attributes.Add("style", "color:red");
if (li.Selected)
ddl1.SelectedItem.Attributes.Add("style", "color:red");
else
ddl1.SelectedItem.Attributes.Add("style", "color:black");
}
也没有这样做(如果我选择最后一项,这实际上将所有列表项都涂成红色):
ListItem li = ddl1.Items.FindByValue("0");
if (null != li)
{
li.Attributes.Add("style", "color:red");
ddl1.Style["color"] = "red";
}
【问题讨论】:
-
你会使用 CSS 吗?我可以提供一个使用 CSS 的示例,提供比内联样式更大的灵活性
-
我相信我可以;而不是 li.Attributes.Add ("style, "color:red") 我应该能够做 li.Attrinutes.Add ("class", "myDDL")。我的问题是在下拉菜单中显示的项目样式您从列表中选择一个项目,然后列表折叠,您只能看到所选项目。正在显示以用作所选项目的项目,我无法设置样式;不知道如何访问它。
-
您是否缺少 ddl1.properties 中的“AutoPostback = true”属性?
标签: c# css asp.net .net-4.5 dropdown