将<myclass>列为DropDownList的数据源?</myclass>

时间:2011-06-09 17:06:21

标签: c# list .net-3.5 drop-down-menu datasource

我有一个带ID和名称的简单类,我想将其链接到DropDownList,但似乎myDropDownList.DataTextField = "Name";myDropDownList.DataValueField = "ID";无法访问或可用。

更新:我使用的是winforms

public class Test
{
    public int ID { get; set; }
    public string Name { get; set; }
}

List<Test> myList = new List<Test>()
{
    // bla bla bla some entries bla bla bla you got the point.
};
myDropDownList.DataSource = myList;

我知道我可以覆盖ToString,但这不会帮助我查看列表中每个条目的值。

是否有其他选项可以在下拉列表中打印名称,同时将另一个属性作为值(即:在选择值或项目作为ID时打印名称)?

1 个答案:

答案 0 :(得分:12)

对于基于Web的ASP.net

您需要指定下拉列表datatextfielddatavaluefield属性。

MyDropDownList.DataSource = myList;
MyDropDownList.DataTextField="Name";
MyDropDownList.DataValueField="ID"; 
MyDropDownList.DataBind();

获胜表格

您需要指定displaymember / valuemember属性。

注意到这是一个 winform 应用程序试试这个:

MyDropDownList.DataSource = myList;
MyDropDownList.DisplayMember = "Name";
MyDropDownList.ValueMember = "ID";