您需要使用DataTextField
和DataValueField
属性组合。试试这个:
private void Page_Load(object sender, EventArgs e)
{
List<MyDummyObject> data = new List<MyDummyObject>()
{
new MyDummyObject() {ID = 1, RandomBoolValue = true, SomeRandomDescription = "First item" }
,new MyDummyObject() {ID=2, RandomBoolValue = false, SomeRandomDescription = "Second item" }
};
comboBox1.DataTextField = "SomeRandomDescription";
comboBox1.DataValueField = "ID";
comboBox1.DataSource = data;
comboBox1.DataBind();
}
private class MyDummyObject
{
public int ID { get; set; }
public string SomeRandomDescription { get; set; }
public bool RandomBoolValue { get; set; }
public override string ToString()
{
return "zzzzzz";
}
}
上MyDummyObject的重写的ToString只是为了证明它不会被调用(这是默认的动作,如果你不指定DataTextField
或DataValueField
)。
你可以更具体 - WinForms,WebForms,或MVC? – 2010-02-05 09:41:12
糟糕。对不起,我的意思是WebForms – 2010-02-05 09:43:35
你想附加什么作为Value和Text? – 2010-02-05 09:50:58