2

ListItemsの値がIDに設定されない理由を誰かに教えてもらえますか?値とテキストは両方ともDISPLAY_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.DataBind();
4

2 に答える 2

4

DisplayMemberValueMemberプロパティを設定してみてください(またはDataTextFieldDataValueFieldasp.netを使用している場合)

lstSelected.DisplayMember = "DISPLAY_NAME";
lstSelected.ValueMember = "ID";
lstSelected.DataSource = entities.User
     .Where(x => SelectedItems.Contains(x.ID))
     .ToList();
lstSelected.DataBind();
于 2012-11-29T21:41:51.073 に答える
0

2 つのオプションがあります (両方を間違った方法で使用しています)。

DataSourceDataTextFieldおよび を設定し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();
于 2012-11-29T22:02:58.830 に答える