asp.net - 下拉列表中的第一项丢失属性

标签 asp.net css vb.net

我有一个动态创建的下拉列表,其中包含一个用户列表。如果用户遇到某个人,我会应用样式属性来突出显示用户。我的 ListItems 将全部正确突出显示,除了列表中的第一个。这似乎很奇怪,第一个会以这种方式行事并且与其他人不同。

    ddlSupervisorList.Items(ddlSupervisorList.Items.Count - 1).Attributes.CssStyle.Value = "background:#cc66ff;"

如果我选择另一个用户,新选择的用户仍然会保持高亮,但第一个用户仍然不会高亮。

我什至尝试过以下操作:

If ddlSupervisorList.SelectedItem.Equals(ddlSupervisorList.Items(ddlSupervisorList.Items.Count - 1)) Then
   ddlSupervisorList.SelectedItem.Attributes.CssStyle.Value = "background:#cc66ff;"
End If

但它仍然不会在加载时突出显示第一个元素(默认元素)。

最佳答案

最终我使用了一些 JQuery 和 javascript 来解决这个问题。我选择了下拉列表 ID 并获得了选定的选项。如果应该突出显示“availableSelected”是 cssclass,那么我将它添加到列表行的下拉列表的 css 中。

var userClientId = '#<%= ddlSupervisorList.ClientID %>';
var selectedId = userClientId + ' option:selected';
function clientIdChanged() 
{
    if ($(selectedId).hasClass('availableSelected')) {
        $(userClientId).addClass('availableSelected');
    }
    else {
        $(userClientId).removeClass('availableSelected');
    }
}
$(document).ready(function() {
    clientIdChanged();
    $(userClientId).bind('change', clientIdChanged);
});

关于asp.net - 下拉列表中的第一项丢失属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11367958/

相关文章:

asp.net - IIS 6 : How to handle a space (%20) after . aspx

c# - 如何保护 WCF Restful 服务?

asp.net - 图片网址正确,但图片未显示

css - 如何根据文本框框位置对齐建议列表

html - 如何使用CSS为png图像的轮廓着色?

vb.net - 在VB.NET中获取系统时间

c# - WPF 的跨平台替代品

asp.net - 尝试在返回的 ToList 中获取 Distinct() 和/或 GroupBy(...)

jquery - jQuery 中的嵌套点击

c# - .NET 可以确定前台线程的数量吗?