1. 目的:获取当前下拉框选项值
2. String str = combox.selectedItem;
3. 提示错误:无法将object 方法组转换未String类型
4.为何:combox.selectedItem = str可以编译,而2)中示例就出错。
5. 感谢各位帮忙,在此谢过

解决方案 »

  1.   

    ToString一下看看。
    string str = this.comboBox1.SelectedItem.ToString();
    MessageBox.Show(str);
      

  2.   

    将object 方法组转换
    说明你调用了一个方法,但是没有打括号。
    比如
    string foo()
    {
    return "aaa";
    }
    如果是
    string a = foo; //报错。
    应该是
    string a = foo();
      

  3.   

    就是一个类型转换的问题嘛:
    str=selecteditem 要求object转string,你出错了,说明无法隐式转换
    selecteditem=str要求string转object,肯定是可以的。
      

  4.   

    获取text的话直接用String str = combox.selectedItem.Tostring();
      

  5.   

    selectedItem.Tostring()正解
      

  6.   

    这个问题牵涉到类型转换的问题,具体来说就是对象间的继承问题了。
    首先明确一点,就是所有的数据类型都是继承自object,所以object obj1 = 。。,所以对象都可以赋值给这个。
    但是如果你把基础类的对象赋值给高级对象,那肯定是不行的,比如string str1 = 一个object类型的对象,这个object级别太低了,string就不认你,你得用一些方法让string认识,比如上面说的tostring方法,就可以解决问题。
      

  7.   

    你combox绑定的是一个对象数组,所以你selectedItem的也就是一个数组,
    string str =combox. selectedItem显然是错的,因为你取的不是某个对象,而是对象里的某个值if(combox.selectedItem !=null)
    {
      你的对象  obj  =   combox.selectedItem as 你的对象
      string str = obj.属性
    }
    或者tostring()
      

  8.   

    String str = combox.text.trim()
      

  9.   

    String str = combox.selectedItem.tostring();
      

  10.   

    首先先检查一下那个dropDownList 的数据源 如   ddlMy.Items.Add(new ListItem(key, val)); 然后取值是否是使用 string getSelMyVal= ddlMy.SelectedValue.ToString();
      

  11.   

     String str = combox.selectedItem.tostring()
    回答:combox.selectedItem的值是object类型,他类似于泛型,也就是任何类型值都可以赋值给他,包括一个Entity这样的一个class类,但是当你往回赋值是String类型相当于一个基本类型,只能接受String类型的值,所以你必须把object类型的值强制转换成String类型传值给他!
      

  12.   

    ToString()
      

  13.   

     combox.selectedItem 返回的是object类型,而object类型是所有类型的基类;所以string可以给object赋值,而object不能直接给string赋值,必须转换后才能赋值;