2011-03-10 167 views
0

我有绑定使用DB values.I一个下拉列表的要求给那下拉列表作为数据源类的列表,即ddlUser.datasource=List <User>;绑定下拉列表

类用户包括以下属性UserIDFirstnameLastname。其数据值字段为UserID

我想显示下拉文字为字符串,例如Firstname+" " + Lastname。在User类

+0

为什么人们不明白他们应该接受答案,如果他们问问题!!!当有人正在努力回答任何身体查询至少接受该答案 – 2011-03-10 09:57:36

回答

2

夫妇的方式做到这一点,添加财产到您的用户名FullName

public string FullName 
{ 
    get 
    { 
     return String.Format("{0} {1}", Firstname, LastName); 
    } 
} 

或使用foreach创建listitem的列表w ith将id作为值,将concanyned名称作为文本。

List<ListItem> userList = new List<ListItem>(); 
foreach (User u in Users) 
{       
    userList.Add(new ListItem(String.Format("{0} {1}", u.Firstname, u.LastName), u.UserID)); 
} 
+0

有什么办法没有添加属性,即从代码后面的代码 – 2011-03-10 09:58:14

+0

答案的第二部分,通过用户列表循环,并手动设置每个列表项的文本和值,然后将其绑定到您的下拉列表中。 – 2011-03-10 10:02:18

+0

实际上,我更喜欢这个答案,最好有一个属性,而不是ToString()来获取全名。 – 2011-03-10 10:06:19

0

覆盖toString方法因此是这样的

public override string ToString() 
{ 
    return Firstname + " " + Lastname; 
} 

当您绑定确保你有用户的填充列表即

List<User> list = new List<User>(); 
// populate list 
ddlUser.DataSource = list; 
ddlUser.DataBind();