[英]Adding and removing items from two list box. How to do validation check so that to make sure some item is selected before the server code is executed
I have a button which I am using to add value from list 1 to list 2 我有一个按钮,用于将清单1中的值添加到清单2中
protected void btn_Add_Click(object sender, EventArgs e)
{
lst_grpmembers.Items.Add(lst_allmembers.SelectedItem.Text);
lst_allmembers.Items.Remove(lst_allmembers.SelectedItem.Value);
}
if i click the add button without selecting any value in the list box then I get this error 如果我单击添加按钮但未在列表框中选择任何值,则出现此错误
Object reference not set to an instance of an object.
so i thought I should Add some loop and added this 所以我想我应该添加一些循环并添加此
foreach (ListItem lis in lst_allmembers.Items)
{
if (lis.Selected)
{
lst_grpmembers.Items.Add(lst_allmembers.SelectedItem.Text);
lst_allmembers.Items.Remove(lst_allmembers.SelectedItem.Value);
}
}
for this code I get this error 对于此代码,我得到此错误
Collection was modified; enumeration operation may not execute.
How should this adding and removing should be done in two list box. 如何添加和删除应该在两个列表框中完成。 Thanks
谢谢
i solved a similar problem with a temporary ListBox. 我用一个临时的ListBox解决了类似的问题。 Take a look at.
看一眼。 I hope it helps.
希望对您有所帮助。
ListBox _temp = new ListBox();
foreach (ListItem item in ListBox1.Items)
if (item.Selected)
_temp.Items.Add(new ListItem(item.Text, item.Value));
foreach (ListItem item in _temp.Items)
ListBox1.Items.Remove(item);
protected void btn_Add_Click(object sender, EventArgs e)
{
if( lst_allmembers.SelectedItem != null )
{
lst_grpmembers.Items.Add(lst_allmembers.SelectedItem.Text);
lst_allmembers.Items.Remove(lst_allmembers.SelectedItem.Value);
}
}
Of course, creating a list of selected items handles multi-select: 当然,创建所选项目的列表可以进行多选:
List<ListItem> listSelected = new List<ListItem>();
foreach( ListItem li in lst_allmembers.Items )
{
if( li.Selected )
listSelected.Add(li);
}
foreach( ListItem li in listSelected )
{
lst_grpmembers.Items.Add(li.Text, li.Value);
lst_allmembers.Items.Remove(li);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.