程序如下:
for(int i=listUpDoc.Items.Count-1;i>=0;i--)
{
if(this.listUpDoc.Items[i].Selected==true)
{
this.listUpDoc.Items.RemoveAt(i);
}
}请各位帮我看看什么原因??
for(int i=listUpDoc.Items.Count-1;i>=0;i--)
{
if(this.listUpDoc.Items[i].Selected==true)
{
this.listUpDoc.Items.RemoveAt(i);
}
}请各位帮我看看什么原因??
解决方案 »
- ############## ASP.NET WebForm Ajax 问题 ###################
- .NET取客户端IP(急,急急....)
- ascx里的page_load和 调用这个ASCX的ASPX里的page_load哪个先执行?
- 请教:ASP.NET URL重写出现的问题
- sql 2005 安装的问题
- 没分了,提一个简单的问题
- 聊天室里怎么读取本地图片啊??
- dataList分页问题
- 怎样在asp.net中实现线程的同步??
- 正则表达式的一个问题?想利用Regex.Splic拆分一个string,以加减乘除就为分隔符
- DropDownList三级联动后,向后台提交,内容丢失的问题
- Ajax怎样获取某行某列的内容?
{
if (this.lsbFolLabor.Items[i].Selected==true)
{
this.lsbFolLabor.Items.RemoveAt(i);
}
}程序沒有問題,和我寫法相同。
不知道是什么原因啊???
直接取出选中的值及index看看
若前面的没问题,后面删除也不会有问题
private void Page_Load(object sender, System.EventArgs e)
{
//你应该在让listbox的第一项赋予true值,所以每次回传的时候第一项都是真,第三项自然是假的了
}
{
//你应该在这里让listbox的第一项赋予true值,所以每次回传的时候第一项都是真,第三项自然是假的了
//把这里的代码放在
//if (!this.IsPostBack)
//{
//}
//中
}
谢谢你的指点,但是Page_Load里的代码我是放在if(!Page.IsPostBack)里面的.
我的这段程序里没有涉及到调用数据库.
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
你的Page_Load处理程序
} }
if (!IsPostBack)中去。
{
if(this.listUpDoc.Items[i].Selected==true)
{
this.listUpDoc.Items.RemoveAt(i);
}
}
用以上代码试一下
我已经把代码放在if (!IsPostBack)里面了,回 sunnystar365(一个人的天空) 你说的代码我也试过了,但是结果还是那样.
郁闷ING.
我的代码是放在Button_click事件里的,而且可以删除选中的,我已经做过测试的。
楼主的代码是在什么地方执行的啊??
我把Button_click里的代码都贴出来给大家看看private void btnRemove_Click(object sender, System.EventArgs e)
{
for(int i=listUpDoc.Items.Count-1;i>=0;i--)
{
if(this.listUpDoc.Items[i].Selected==true)
{
this.listUpDoc.Items.RemoveAt(i); }
}
}
我是直接在ListBox中添加了几条记录,然后在BUTTON_Click中执行的啊,可以删除的啊。
而且也不用设置任何属性啊,除了在ITEMS中添加了几条记录private void Button1_Click(object sender, System.EventArgs e)
{
for(int i=0;i<listUpDoc.Items.Count;i++)
{
if(this.listUpDoc.Items[i].Selected==true)
{
this.listUpDoc.Items.RemoveAt(i);
}
} }
我的Page_Load里面的程序如下if(!Page.IsPostBack)
{ GetNewsInfo(NewsID);
}GetNewsInfo(NewsID);就是把数据绑定到listbox里去,
我是根据索引里删除的,不是根据value
for(int i=0;i<this.ListBox1.Items.Count;i++)
{
if(this.ListBox1.Items[i].Selected==true)
{
this.ListBox1.Items.RemoveAt(i);
}
}
但多选,再按删除,不是删除我选中的全部,而是一部分,可以全部选中,再按删除,就只是删除双数的(2,4,6,8,10...),就留下单数的(1,3,5,7,9...),那是为什么呀?
for (int i = 0; i < ListBox1.Items.Count; i++)
{
ListBox1.Items.Remove(ListBox1.SelectedItem);
}
因为remoeve以后Items里就少了一个
是不是你的sql語句有問題啊
这位强得不行了..........
应该这样
while (ListBox1.SelectedIndex != -1)
{
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex);
}
有时间我们可能只会对每一项的 Text 属性进行赋值,而忽略了 Value 这个属性。在客户端发送的时候,只对 ListBox 件所选定的值(也就是选定项的 Value)值进行发送,
然后ListBox请根据选定的值来判断是那一个项被选定了,但由于每一项的值都一样,所以比较第一项的时候条件就成立了,所以 ListBox 就会认为选定了第一项。解决方法就是为每一项的 Value 属性设置一个不同的值。