我似乎無法弄清楚這一點。我有一個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結構與樣式保持分離,以便日後維護和更改。 –