ASP.NET下拉菜单项颜色
我在ASP.NET页面上有一个下拉列表,该页面由SQL数据库填充ASP.NET下拉菜单项颜色,asp.net,drop-down-menu,Asp.net,Drop Down Menu,我在ASP.NET页面上有一个下拉列表,该页面由SQL数据库填充 <asp:DropDownList ID="ddlName" runat="server"></asp:DropDownList> 我想知道是否可以根据列表中某个项目的值更改其背景或文本颜色 我注意到下面的示例在页面首次加载时有效,但在回发时,文本颜色消失,即使代码在那里。我有什么遗漏吗 protected override void Page_Load(object sender, EventArgs
<asp:DropDownList ID="ddlName" runat="server"></asp:DropDownList>
我想知道是否可以根据列表中某个项目的值更改其背景或文本颜色
我注意到下面的示例在页面首次加载时有效,但在回发时,文本颜色消失,即使代码在那里。我有什么遗漏吗
protected override void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlName.DataSource = SqlDataSource5;
ddlName.DataValueField = (this.ddlName.SelectedValue);
ddlName.DataTextField = "ccName";
ddlName.DataBind();
foreach (ListItem item in ddlName.Items)
{
if (item.Value == "Item 1")
{
item.Attributes.Add("style", "color:red");
}
if (item.Value == "Item 2")
{
item.Attributes.Add("style", "color:red");
}
}
}
}
是的,你当然可以,把它添加到你的页面加载事件中
foreach(ListItem item in ddlName.Items) {
if(item.Value == "someStringValue") {
item.Attributes.Add("style", "color:red")
}
}
如果不起作用,您可以将此代码移动到下拉列表的数据绑定事件。
foreach(ListItem item in ddlName.Items) {
if(item.Value == "someStringValue") {
item.Attributes.Add("style", "color:red")
}
}