C# 仅将每个项目中的一个属性添加到listbox
我在ASP.NET中有一个聊天室用户列表。每个用户都有一个connectionid和一个nick。添加新用户后,我想将每个用户的nick写入ListBox1。我怎么做?多谢各位C# 仅将每个项目中的一个属性添加到listbox,c#,asp.net,C#,Asp.net,我在ASP.NET中有一个聊天室用户列表。每个用户都有一个connectionid和一个nick。添加新用户后,我想将每个用户的nick写入ListBox1。我怎么做?多谢各位 List<User> users = new List<User>(); class User { public string connectionid { get; set; } public string nick { get; set; } } protected void
List<User> users = new List<User>();
class User
{
public string connectionid { get; set; }
public string nick { get; set; }
}
protected void Button1_Click(object sender, EventArgs e)
{
users.Add(new User { connectionid = TextBox1.Text, nick = TextBox2.Text });
//I want to populate ListBox1 with nick for each user
}
您尝试@SLaks建议的尝试已接近尾声,但您无法以这种方式将用户列表添加到列表框中。这会让你更接近:
protected void Button1_Click(object sender, EventArgs e)
{
users.Add(new User { connectionid = TextBox1.Text, nick = TextBox2.Text });
foreach (User u in users) {
lbUsers.Items.Add(new ListItem(u.nick, u.connectionid));
}
}
要添加到ListBox的Items集合,需要该项为ListItem。您可以内联实例化一个新的实例,并传递希望与之关联的字符串/值对 使用foreach循环。我怀疑投票被否决是因为这个网站上几乎每个人都不喜欢ide的截图而不是代码。只是一种预感。@ethorn10我也包括了代码。@user3071591我觉得很讽刺的是,当你似乎只能对答案和建议做出回应,却不起作用时,你却希望人们解释反对票。你能详细说明什么不起作用吗?你能放置一个断点并进行一些常规调试吗?