【发布时间】:2011-03-22 18:59:32
【问题描述】:
我在 AutoPostBack 设置为 True 的页面上有一个下拉列表控件。在页面的初始加载中,我在 DropDownList 中的某些 ListItems 上设置了一个 CSS 类。生成的 HTML 如下所示:
<select id="mySelect">
<option value="1">First</option>
<option value="2" selected="selected">Second</option>
<option value="3" class="favorite">Third</option>
<option value="4">Fourth</option>
<option value="5" class="favorite">Fifth</option>
</select>
在回发后,ListItems 失去了它们的 CSS 类。现在看起来像这样。
<select id="mySelect">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
<option value="4">Fourth</option>
<option value="5" selected="selected">Fifth</option>
</select>
有什么方法可以让下拉列表在回发后记住单个 ListItems 上的 CSS 类,还是我需要在回发后自己设置类?
这是将 CSS 添加到下拉列表的代码。它在 PageLoad 上运行,但不在 PostBack 上运行。
foreach(MyItem _myItem in MyItemList)
{
ListItem _listItem = new ListItem();
_listItem.Value = _myItem.ID.ToString();
_listItem.Text = _myItem.Title;
if(_myItem.IsFavorite)
{
_list.Attributes["class"] = "favorite";
}
ddlMyDropDown.Items.Add(_listItem);
}
科里
【问题讨论】:
-
您是否通过某种方式通过代码设置这些类?
-
是的。我手动创建每个 ListItem 对象,然后将其添加到 DropDownList 控件,而不是仅仅将 List 绑定到 DropDownList。
标签: asp.net css drop-down-menu postback