我在AutoPostBack设置为True的页面上有一个dropdownlist控件。在页面的初始加载时,我在DropDownList中的某些ListItems上设置了一个CSS类。由此产生的HTML看起来像这样:ASP.NET dropdownlist控件可以在回发中保留列表项类吗?
<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);
}
科瑞
你是否通过代码设置了这些类? – CodingGorilla 2011-03-22 19:01:40
是的。我手动创建每个ListItem对象,然后将其添加到DropDownList控件,而不是仅将List绑定到DropDownList。下面 – 2011-03-22 19:10:51
答案是有用 http://stackoverflow.com/questions/1313447/listitems-attributes-in-a-dropdownlist-are-lost-on-postback – 2012-11-23 15:26:30