DataBinding:'System.Web.UI.Pair'不包含名为'First'的属性

Llo*_*ell 1 .net c# vb.net asp.net drop-down-menu

我是将数据绑定到下拉列表的数据,由于某种原因它不起作用,我很感兴趣.

我使用的代码是:

public void BindDropDown(List<Pair> dataList)
{
    ddlGraphType.DataTextField = "First";
    ddlGraphType.DataValueField = "Second";

    ddlGraphType.DataSource = dataList;
    ddlGraphType.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

我得到了这个例外,这是谎言!

DataBinding: 'System.Web.UI.Pair' does not contain a property with the name 'First'.
Run Code Online (Sandbox Code Playgroud)

提前致谢.

添加

我知道异常意味着什么,但是对对象确实包含First和Second属性,这就是问题所在.

ada*_*ost 8

First并且Second字段不是Pair类型的属性.您需要创建一个具有两个属性的类:

 public class NewPair
 {
    public string First { get; set; }
    public string Second { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

编辑:使用元组:由@Damien_The_Unbeliever和@Chris Chilvers建议

List<Tuple<string, string>> list = new List<Tuple<string, string>>()
 {
   new Tuple<string,string>("One","1"),
   new Tuple<string,string>("Two","2"),
};

ddlGraphType.DataTextField = "Item1";
ddlGraphType.DataValueField = "Item2";

ddlGraphType.DataSource = list;
ddlGraphType.DataBind();
Run Code Online (Sandbox Code Playgroud)