ListBox1.DataTextField = "uname";
            ListBox1.DataValueField = "uno";
            ListBox1.DataSource = ds.Tables["addTeather"].DefaultView;
            ListBox1.DataBind();
    把ListBox1绑定到一个ds的table,显示是正确的。 然后我写
              String strValue = ListBox1.SelectedItem.Value;
    这时候就会出错了,获得不到我选的值,这怎么办啊?有没有什么解决办法?高手帮忙。。

解决方案 »

  1.   

    ListBox1.SelectedItem 是不是Null?
    调试一下,用监视器
      

  2.   

    绑定的时候加上判断 if (!Page.IsPostBack){}
     
      

  3.   

    String strValue = ListBox1.SelectedValue; 
      

  4.   

      ListBox1.DataSource = ds.Tables["addTeather"].DefaultView; 
    ListBox1.DataTextField = "uname"; 
                ListBox1.DataValueField = "uno"; 
              
                ListBox1.DataBind(); 是不是这里错了
      

  5.   

    只绑定了Text ,没有绑定Valuek吧 ListBox1.SelectedItem.Text
     
      

  6.   

    继续:我调试了一下  String strValue = ListBox1.SelectedItem.Value;抛出异常,未将对象引用设置到对象的实例。
    我看了一下SelectedIndex,居然是-1,高手继续帮忙啊,这怎么解决呢?
      

  7.   

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    ListBox1.DataSource = GetDataTable().DefaultView;
                    ListBox1.DataBind();
                }
            }        private DataTable GetDataTable()
            {
                DataTable dt = new DataTable();
                DataColumn dc = null;
                dc = new DataColumn("ID", Type.GetType("System.Int32"));
                dt.Columns.Add(dc);            DataRow dr = dt.NewRow();
                dr["ID"] = "1";
                dt.Rows.Add(dr);            DataRow dr1 = dt.NewRow();
                dr1["ID"] = "2";
                dt.Rows.Add(dr1);
                return dt;
            }        protected void Button1_Click(object sender, EventArgs e)
            {
                Response.Write(ListBox1.SelectedItem.Text);
            }
      

  8.   

     <asp:ListBox ID="ListBox1" runat="server" DataTextField="ID"></asp:ListBox>
      

  9.   

    恶!~—~          ListBox listbox1 = new ListBox();        if (listbox1.Controls != null)
            {
                listbox1.SelectedIndex = "0";
            }好像应该对listBox所选初始化一下吧!
    也不知道对不对哦
      

  10.   

    如果你要获取所要的选定的值就要定义一个ValueChange事件
      

  11.   

    绑定的时候加上判断 if (!Page.IsPostBack){} 支持下 
      

  12.   

     的确把绑定放在if (!Page.IsPostBack){} 中可以获得选择的值,但是我在点击删除按钮时,数据库中是删除了,但是listbox中并没有更新啊?我知道是if (!Page.IsPostBack){} 运行不到其中的语句,这怎么解决?
      

  13.   

    绑定数据的时候加上IsPostback