我有一个下拉列表,我需要在其中存储比标准列表项允许的更多的数据。我采用的方法是为每个列表项添加一个属性。
我监视更改并可以返回 SelectedIndex,但我不确定如何从那里取回属性,或者是否有更简单的方法来实现这一点。
有任何想法吗?
我有一个下拉列表,我需要在其中存储比标准列表项允许的更多的数据。我采用的方法是为每个列表项添加一个属性。
我监视更改并可以返回 SelectedIndex,但我不确定如何从那里取回属性,或者是否有更简单的方法来实现这一点。
有任何想法吗?
尝试这个:
ddl.SelectedItem.Attributes["key"];
我之前确实尝试过一次,但我认为我无法真正使用 DropDownList 属性上的属性。
我所做的是以下内容:
创建一个包含KeyValuePair的列表。KeyValuePair 中的键与您放入 DropDownList 项中的 ID 相同。
KeyValuePair 的值是您希望与您的项目保持/连接的值(或多个值)。
一旦您在 DropDownList 中选择了一个项目并使用 ID 找到正确的 KeyValuePair,您就可以将 List 存储在您的 viewState 中并读取数据。
所以你可以像这样“存储”数据:
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));