有个ListBox,在按钮1的click事件中添加ListItem:
 ListItem li=new ListItem();
li.Text ="aa";
li.Attributes .Add("ss","ss");
li.Value ="11";
ListBox1.Items .Add(li);
然后我在按钮2的click事件中:
ListBox1.Items[0].Attributes["ss"],为什么取不到??显示的是"未将对象引用设置到对象的实例。
"
应该怎么写???

解决方案 »

  1.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    ListItem li=new ListItem();
    li.Text ="aa";
    li.Attributes .Add("ss","ss");
    li.Value ="11";
    ListBox1.Items .Add(li);

    this.Response .Write ("<script>alert('"+ListBox1.Items[0].Attributes["ss"].ToString ()+"')</script>") ;
    }
      

  2.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    ListItem li=new ListItem();
    li.Text ="aa";
    li.Attributes .Add("ss","ss");
    li.Value ="11";
    ListBox1.Items .Add(li);
           string s=ListBox1.Items[0].Attributes["ss"] ;
    this.Response .Write ("<script>alert('"+s+"')</script>") ;
    }
    这样也行啊..这两个我都通过验证了啊..
    都可以正常显示啊..
    我是2000服务器版 +vs2003 
      

  3.   

    这两个我都通过验证了啊..
    --------------
    你是因为写在一起,所以才会得到,如果把它们分开,肯定就出错.
    我想,是因为LISTBOX里面的ITEM,本身并不允许为它们添加任何形式的操作,所以,添加是没有问题,但实际上却并没有真正添加进去.因此,在页面加载之后,其添加的任何东西,均无法保存,再取时,自然出错.