请看代码:
private void BindListBox()
{
   string DBDriver = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
Server.MapPath( "DataBase\\Product_List.xls" ) + ";"
+ "Extended Properties=Excel 8.0;";
   
   string SQLString = "Select * from [Sheet1$]";   ArrayList ServiceTag = new ArrayList();
   ServiceTag.Add( " " );   try
   {
OleDbConnection ExcelConnect = new OleDbConnection( DBDriver ); 
OleDbCommand ExcelCommand = new OleDbCommand( SQLString, ExcelConnect );
OleDbDataReader ExcelReader;

ExcelConnect.Open();
ExcelReader = ExcelCommand.ExecuteReader(); while( ExcelReader.Read())
{
           ServiceTag.Add( ExcelReader[0].ToString() );
}

//ServiceTag_List.DataTextField = "ColorTextField";
//ServiceTag_List.DataValueField = "ColorValueField"; ServiceTag_List.DataSource = ServiceTag;
ServiceTag_List.DataBind(); ExcelConnect.Close();
      }
      catch( OleDbException j )
      {
Message.Show( "DataBase connect failed,Please contact Admin !" );
       }
}为何我用ServiceTag_List.SelectItem.Text却得到不选项值了,请指点!

解决方案 »

  1.   

    ServiceTag.Add( ExcelReader[0].ToString() );
    确定有数据存在?
      

  2.   

    数据确实存在,在WEB上可以显示出来,但写到DB里面却是空值.
      

  3.   

    //ServiceTag_List.DataTextField = "ColorTextField";
    //ServiceTag_List.DataValueField = "ColorValueField";用ArrayList不太好,用DataTable试试
      

  4.   

    string connstr=System.Configuration.ConfigurationSettings.AppSettings["sqllink"];
    SqlConnection conn=new SqlConnection(connstr);
    conn.Open();
    string sqldropdown="select plcname from police order by plcname";
    SqlDataAdapter da=new SqlDataAdapter(sqldropdown,conn);
    DataSet dr=new DataSet();
    da.Fill(dr,"VIEW_USRACT");
    DataView dv=dr.Tables[0].DefaultView;
    this.ComboBox1.Items.Clear();
    for(int i=0;i<dv.Count;i++)
    {
    this.ComboBox1.Items.Add(dv[i][0].ToString());
    }
      

  5.   

    为什么将 excel 表中的内容放到 ServiceTag 中 再与ServiceTag_List 邦定? 
    试一下 SqlDatareader与ServiceTag_List 邦定。
      

  6.   

    private void DDL_BindData(){
    DDL_Class.Items.Add(new ListItem("请选择...","0"));
    SqlStr = "select * from ExamClass";
    try
    {
    SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING,CommandType.Text,SqlStr,null);
    while(dr.Read()){
    DDL_Class.Items.Add(new ListItem(dr["ClassName"].ToString(),dr["ClassID"].ToString()));
    }
    dr.Close();
    }
    catch(Exception ex)
    {
    throw new Exception(ex.Message);
    }
    }
      

  7.   

    我以前遇到过这个大问题.
    是不是你的整个页面或者是Dropdownlist控件所在父控件或者它本身被禁用了viewstate?
    在v1.1版本中,就是有这个问题.我试过几次了.
    还有其他的一些v1.1版本带的bug,我在网络上搜索也没得到合适的答案,我把他们归为bug
      

  8.   

    终于解决了楼主的问题:
    请在页面的初始化事件处理程序中重新绑定Dropdownlist的值,也可以开启viewstate.
    原因:你在pageload事件处理程序中或其他后于Page.Init事件处理程序中绑定值!