我有一个下拉列表,我想从中突出显示一个项目。我已将条件正确作为我的标准。但它没有突出显示给定的项目,而是正常显示为其他项目。
DataTable dtt = new DataTable();
dtt.Load(cmd.ExecuteReader());
ddlCompanyName.DataSource = dtt;
ddlCompanyName.DataTextField = "COMPANYNAME";
ddlCompanyName.DataValueField = "COMPANYID";
foreach (ListItem item in ddlCompanyName.Items)
{
if (item.Text == compidd)
{
item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
}
}
ddlCompanyName.DataBind();
ddlCompanyName.Items.Insert(0, new ListItem("--Select Name--"));
Compidd(string)指定了要在下拉列表中突出显示的项目
答案 0 :(得分:2)
在循环项目之前必须执行ddlCompanyName.DataBind();
:
ddlCompanyName.DataBind();
foreach (ListItem item in ddlCompanyName.Items)
{
if (item.Text == compidd)
{
item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
}
}
否则DropDownList
中没有任何项目。
答案 1 :(得分:2)
您需要在循环前执行DataBind
:
ddlCompanyName.DataBind();
foreach (ListItem item in ddlCompanyName.Items)
{
if (item.Text == compidd)
{
item.Attributes.Add("style", "background-color:#3399FF;color:white;font-weight:bold;");
}
}
修改强>
要将值设置为默认值,您可以尝试这样
ddlCompanyName.SelectedValue = "The value which you want to set as default"