列表框
<asp:ListBox ID="YearListBox" runat="server" Rows="11" SelectionMode="Multiple" AutoPostBack="True"></asp:ListBox>
如何设置所选项目&#39;背景到蓝色。 我尝试了以下解决方案,但在chrome中无法正常工作。
int[] YearIndexes = YearListBox.GetSelectedIndices();
for (int i = 0; i < YearIndexes.Length; i++)
{
//do something...
YearListBox.Items[YearIndexes[i]].Attributes.Add("style", "background-color:blue");
}
我们可以看到所选项目&#39;此图片上的背景颜色[1]是灰色的,但项目&#39;此图像上的背景属性为蓝色[2]。
浏览器的默认样式似乎覆盖了我的背景属性。
答案 0 :(得分:1)
如下所述,有三种方法可以做到:
1。尝试在列表项中提供style
,如下所述:
<asp:ListItem style="background-color:red">Item 2</asp:ListItem>
2。您可以从后面的代码更改它,如下所述: Change color of list item
3。您可以按照以下说明申请css:
CSS:
.listContainer option {
background-color: gray;
}
Html:
<asp:ListBox runat="server" ID="listTest" CssClass="listContainer">
<Items>
<asp:ListItem >Test 1</asp:ListItem>
<asp:ListItem >Test 2</asp:ListItem>
<asp:ListItem >Test 3</asp:ListItem>
</Items>
</asp:ListBox>
注意:第四种方式是使用Javasript或JQuery。但是,当您想要更改运行时
时,这将非常有用答案 1 :(得分:1)
首先,我会使用类而不是在代码中定义颜色(将来更容易更改)。
编辑: 您要求更改UI的行为方式,您可能会混淆用户。据我所知,没有办法覆盖应用于所选项目的默认灰色和蓝色样式。如果你必须这样,那么你需要看一些自定义控件。
这将属于您想要的区域,因此您可以对其应用完全自定义:reinventing a drop-down with css and jquery/