将列表绑定到下拉列表,如何处理值?

我将List绑定到DropDownList。 但我想为每个列表项的值提供其他值。

我有以下ddl和列表:

List 

运动,排球,橄榄球

   Alle soorten sport volleyball rugby  

但我想跟随(值中的ID)

   Alle soorten sport volleyball rugby  

我如何创建一个List,以便获得上面的下拉列表。

谢谢

如果您能够更改源的类型,我建议使用字典。 你可以这样做:

 var source = new Dictionary(); source.Add(0, "Sports"); source.Add(1, "Football"); dropDown.DataSource = source; dropDown.DataTextField = "Key"; dropDown.DataValueField = "Value"; dropDown.DataBind(); 

这将导致:

  

稍后您可以像这样访问ID或值:

 dropDown.SelectedItem.Value dropDown.SelectedItem.Text 

你可以做的是像这样手动创建ListItems:

 List yourValues; for(var i=0; i < yourValues.Count; i++) YourDropDown.Items.Add(new ListItem(yourValues[i], i.ToString()); 

或者您可以创建一个临时变量并使用linq查询绑定下拉列表,如下所示:

 List new { Text = x, Value = index++ }); YourDropDown.DataBind(); 

并将其与标记结合:

  

这是另一种方式。 将DataSet表转换为列表并绑定到下拉列表。

 var filter = from dr in ds.Tables[0].AsEnumerable() where (dr.Field("FilterID") == 1) select new { FilterID = dr.Field("FilterID"), FilterName = dr.Field("FilterName") }; ddlSample.DataSource = filter; ddlSample.DataTextField = "FilterName"; ddlSample.DataValueField = "FilterID"; ddlSample.DataBind(); filter = null; // null the var