从DropdownList SelectedItem获取属性

时间:2013-02-12 11:20:12

标签: asp.net drop-down-menu attributes listitem

我有一个下拉列表,我需要存储比标准列表项允许的更多数据。我采用的方法是为每个列表项添加一个属性。

我监视更改并可以返回SelectedIndex,但我不确定如何从那里获取属性,或者是否有更简单的方法来实现此目的。

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

试试这个:

ddl.SelectedItem.Attributes["key"];

答案 1 :(得分:2)

我曾经尝试过这次,我想我无法真正使用DropDownList属性的属性。

我做的是以下内容:

创建包含 KeyValuePair 列表。 KeyValuePair中的Key与放入DropDownList Item中的ID相同。

KeyValuePair的值是您希望保留/连接项目的值(或多个值)。

您可以将List存储在viewState中,并在DropDownList中选择项目后读取数据,并使用ID找到正确的KeyValuePair。

所以你可以“存储”这样的数据:

    var listKeyValuePair = new List<KeyValuePair<int, string>>();
    listKeyValuePair.Add(new KeyValuePair<int, string>(1, "data"));
    ViewState["DataList"] = listKeyValuePair;

你可以得到这样的数据:

    var listKeyValuePair = (List<KeyValuePair<int, string>>)ViewState["DataList"];
    var dataILikeToHave = listKeyValuePair.Find(k => k.Key == Convert.ToInt16(dropDownlist.SelectedItem.Value));