晕  没说哪一行么?
建议那一行这样写 
string val = ListBox1.SelectedItem.Value as string;

解决方案 »

  1.   

    ListBox1.SelectedItem可能是null
    判断下先
      

  2.   


     ListBox1.SelectedItem为null?
    还是
     ListBox1.SelectedItem.Value为null?
      

  3.   

    protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ListBox1.SelectedItem!=null && ListBox1.SelectedItem.Value!=null)
        {
            string val = ListBox1.SelectedItem.Value.ToString;
            Response.Write(val);
        }
    }
      

  4.   

    string val = ListBox1.SelectedItem.Value.ToString;
      

  5.   

    if (!IsPostBack)
            {
                BindUserData(yhm);
            }
    在前面加上这个。。就不报错了。。但只有第一次点击有值。。再单击就得不到值了
      

  6.   

    报错行:
    string val = ListBox1.SelectedItem.Value.ToString;
      

  7.   

    常见的有6中
    1、ViewState 对象为Null。
    2、DateSet 空。
    3、sql语句或Datebase的原因导致DataReader空。
    4、声明字符串变量时未赋空值就应用变量。
    5、未用new初始化对象。
    6、Session对象为空。 
    你自己仔细检查下
    另外你也可以采用判断对象是否为空啊
    例如:判断引用前的对象是否为空
    if _objInfo is nothing then 
    me.showmessage("错误信息")
    eles 
    应用引用的对象
    end if 
    你看看那个地方调试不通过了,就把这句话加上,判断下就可以了。
    之后再单步的调试下,看看值传得都对不对!