ASP.NET及;C#-列表框中的两个值?

ASP.NET及;C#-列表框中的两个值?,c#,asp.net,C#,Asp.net,我将从两个控件向列表框添加ListItems,这两个控件都是DropDownList ListItem具有ListItem.SelectedItem和ListItem.SelectedValue属性,但我还希望ListBox跟踪ListItem来自哪个DropDownList 最好的方法是什么?对.Value部分进行编码,使其类似于DropDownList1:SomeValue,然后您可以使用String.Split从中提取信息。SelectedValue?列表项包含文本和值属性从HTML中的选

我将从两个控件向列表框添加ListItems,这两个控件都是DropDownList

ListItem具有ListItem.SelectedItem和ListItem.SelectedValue属性,但我还希望ListBox跟踪ListItem来自哪个DropDownList


最好的方法是什么?

.Value
部分进行编码,使其类似于
DropDownList1:SomeValue
,然后您可以使用String.Split从
中提取信息。SelectedValue

列表项包含
文本
属性从HTML中的选项元素映射。因此,您不能向该结构添加任何其他值。但是,也许您可以将源下拉列表的id保存到
列表项的
值中

您可以通过编程将下拉列表的id设置为列表项的属性

ListItem i = new ListItem();
i.Attributes["IDofDropDown"] = "SomeID";

您可以创建内存中的数据集来存储所有需要的数据,然后将数据集绑定到您的列表框。当选择一个值时,您将可以访问代码隐藏中的更多字段。

我解决这个问题的方法是创建一个ArrayList,每个项目内部都有另一个数组。

我不确定,这些属性是否在回发之间传输?这不会在html标记中发出它并使代码无效吗?@SP,我尝试了您通过lstTrainers提出的建议。项目[编号]。属性[“TrainerType”]=“Trainer”;lstTrainers.Items[number].Attributes.Add(“TrainerType”,ExTrainer”);但是当我查看ListItem时,我得到的属性计数为0。我将ListBox传递给另一个对象。