/Upload/1301635563022167961.jpg,/Upload/130163556302216796banner-b.jpg   数据库的值 
  string[] array = spic.Split(',');
            foreach (string i in array)
            {
                this.FileList.Items.Add( new ListItem(i));
            }
得到的图这是获取id后进入的界面,当选中listbox里面的项点击删除时出现“索引超出范围。必须为非负值并小于集合大小。”如果不是获取id进来的话,也就是添加的时候,不会出现问题,索引值还能获取,但获取id进来想修改的话索引值貌似不存在,却能显示读取数据库里的值。不知道大家看懂问题没有,抱歉!文笔不好,哪些地方说错了,请见谅!还请帮忙解决这个问题!谢谢ListBox数据库索引

解决方案 »

  1.   

     protected void RemvFile_Click(object sender, EventArgs e)
            {
                if (FileList.SelectedIndex == -1)
                {
                    this.Clew.ShowClew("错误 - 必须指定要删除的文件.");
                    return;
                }
                else if (FileList.Items.Count != 0)
                {
                    hif.RemoveAt(FileList.SelectedIndex);
                    FileList.Items.Remove(FileList.SelectedItem.Text);
                }
            }  
    这是删除按钮事件
      

  2.   

    hif是什么变量。其实此类问题,建议自己调试下。
      

  3.   


       public static ArrayList hif = new ArrayList();
     
    baseLocation = Server.MapPath("~/Upload/"); // 上传路径  
                baseLocation = baseLocation.Substring(baseLocation.IndexOf("\\Upload\\")).Replace("\\", "/");//源图路径
                foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)
                {
                    string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);
                   
                    smallpath += (baseLocation + filetime + fn + ",");
                }
                smallpath = smallpath.Substring(0, smallpath.Length - 1);
    就是这些代码了,不知道哪里出问题了,根据id进入的页面listbox能显示值,就是不能再次操作!
      

  4.   

    建议用数组直接作为 listbox的数据源
    绑定时候
    id 为 DataValueField
    name 为 DataTextField
    操作应该没有问题。
      

  5.   

    也不行 刚试了!listbox的索引值还是不在!
      

  6.   

    索引不存在,你是不是操作的时候触发了PostBack回发。导致选中的索引丢失。