Tengo este código para agregar elementos seleccionados de un ListBox
a otro. ¿Cómo puedo evitar que el usuario agregue un artículo dos veces? Quiero el ListBox
que están agregando al lstBoxToUserProjects
para que solo contenga elementos distintos sin entradas duplicadas.Impedir que se agreguen elementos duplicados a un ListBox
protected void btnAddSelectedItem_Click(object sender, EventArgs e)
{
List<ListItem> itemsToAdd= new List<ListItem>();
foreach (ListItem listItem in lstbxFromUserProjects.Items)
{
if (listItem.Selected)
itemsToAdd.Add(listItem);
}
foreach (ListItem listItem in itemsToAdd)
{
lstBoxToUserProjects.Items.Add(listItem);
}
}
EDIT: Esto es lo que terminé usando
protected void btnAddSelectedItem_Click(object sender, EventArgs e)
{
List<ListItem> itemsToAdd= new List<ListItem>();
foreach (ListItem listItem in lstbxFromUserProjects.Items)
{
if (listItem.Selected)
itemsToAdd.Add(listItem);
}
foreach (ListItem listItem in itemsToAdd)
{
if (!lstBoxToUserProjects.Items.Contains(listItem))
{
lstBoxToUserProjects.Items.Add(listItem);
}
}
}
Ha considerado el uso del método contiene en la lista para ver si ya está presente? –