C# 使用linq查询填充列表框-未设置值
有人能告诉我为什么不将ListItems上的值设置为ID吗?值和文本都显示为DISPLAY\u NAMEC# 使用linq查询填充列表框-未设置值,c#,linq,data-binding,listbox,C#,Linq,Data Binding,Listbox,有人能告诉我为什么不将ListItems上的值设置为ID吗?值和文本都显示为DISPLAY\u NAME lstSelected.DataSource = entities.User .Where(x => SelectedItems.Contains(x.ID)) .Select(x => new ListItem { Text = x.DISPLAY_NAME, Value = x.ID }) .ToList<ListItem>();
lstSelected.DataSource = entities.User
.Where(x => SelectedItems.Contains(x.ID))
.Select(x => new ListItem { Text = x.DISPLAY_NAME, Value = x.ID })
.ToList<ListItem>();
lstSelected.DataBind();
如果使用asp.net,请尝试设置DisplayMember和ValueMember属性或DataTextField和DataValueField
lstSelected.DisplayMember = "DISPLAY_NAME";
lstSelected.ValueMember = "ID";
lstSelected.DataSource = entities.User
.Where(x => SelectedItems.Contains(x.ID))
.ToList();
lstSelected.DataBind();
如果使用asp.net,请尝试设置DisplayMember和ValueMember属性或DataTextField和DataValueField
lstSelected.DisplayMember = "DISPLAY_NAME";
lstSelected.ValueMember = "ID";
lstSelected.DataSource = entities.User
.Where(x => SelectedItems.Contains(x.ID))
.ToList();
lstSelected.DataBind();
您有两个选项,这两个选项都用错了: 设置数据源、DataTextField和DataValueField:
您有两个选项,这两个选项都用错了: 设置数据源、DataTextField和DataValueField:
你有空名单吗?或者一张填有空格或垃圾的列表?该死。没有关系。这是绑定,不是linq。我没有意识到我需要在列表框上设置DataValueField和DataTextField。对于listitems,它几乎应该是自动的,你会得到一个空列表吗?或者一张填有空格或垃圾的列表?该死。没有关系。这是绑定,不是linq。我没有意识到我需要在列表框上设置DataValueField和DataTextField。对于listitems,它几乎应该是自动的
List<ListItem> mySelectedItems = entities.User
.Where(x => SelectedItems.Contains(x.ID))
.Select(x => new ListItem { Text = x.DISPLAY_NAME, Value = x.ID })
.ToList<ListItem>();
foreach(ListItem item in mySelectedItems)
{
lstSelected.Items.Add(item);
}
lstSelected.DataBind();