당신은 (당신은 모두를 사용하고이 옵션을 설정하십시오 DISPLAY_NAME로 나와) 잘못된 방법 :
을 설정 DataSource
, DataTextField
과 DataValueField
:
lstSelected.DataSource = entities.User
.Where(x => SelectedItems.Contains(x.ID))
.ToList<ListItem>();
lstSelected.DataTextField = "DISPLAY_NAME";
lstSelected.DataValueField = "ID";
lstSelected.DataBind();
또는 ListItem
의 인스턴스를하고 ListBox
에 추가 :
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();
당신은 빈 목록을 받고 있는가? 또는 공백이나 쓰레기가있는 채워진 목록? –
담근. 신경 쓰지 마. 그것은 바인딩, 아니 linq. DataValueField 및 DataTextField를 목록 상자에 설정해야한다는 것을 알지 못했습니다. listitem을 사용하면 거의 자동으로 – user1566694
Ok가됩니다. 행운을 빌어 요. –