for (int i = 0; i < NavigateTree.InfinityTree.Rows.Count; i++)
        {
            ClassDrop.Items.Add(NavigateTree.InfinityTree.Rows[i]["StrTree"].ToString());
            ClassDrop.Items[i].Value = NavigateTree.InfinityTree.Rows[i]["Classid"].ToString();
        }
        ClassDrop.Items.Insert(0, "一级分类");
        ClassDrop.Items[0].Value = "0"; Connection = new OleDbConnection(DataProvider.ConnectionString);
            Command = new OleDbCommand();
            Command.Connection = Connection;
            Command.CommandText = "Select * From aClass where Classid=" + ClassDrop.SelectedValue;
            Connection.Open();
            dr= Command.ExecuteReader();为什么ClassDrop.SelectedValue选出来的为空??

解决方案 »

  1.   

    for (int i = 0; i  < NavigateTree.InfinityTree.Rows.Count; i++) 
            { 
                ClassDrop.Items.Add(NavigateTree.InfinityTree.Rows[i]["StrTree"].ToString()); 
                ClassDrop.Items[i].Value = NavigateTree.InfinityTree.Rows[i]["Classid"].ToString(); 
            } 
            ClassDrop.Items.Insert(0, "一级分类"); 
            ClassDrop.Items[0].Value = "0"; 
    ===========================================
    只往里添加了。也没有选择阿另外,添加的时候value和text为什么要分开呢ListItem itm=new ListItem(value,text);
    ClassDrop.Items.Add(itm);
      

  2.   

    tryprivate void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
                                 你的绑定程序
                            }
      

  3.   

    2005里面,可以直接ClassDrop.text.tostring()
      

  4.   

    lican990602 正解
    应该是这原因,绑定dropdownlist的代码写在if(!IsPostBack){}里面,不能每次都绑,不然每次刷新就又回去了,
      

  5.   

    dropdownlist的装载信息是写在if(!page.ispostback)里面的,我也用了ClassDrop.SelectedValue.tostring()和ClassDrop.text.tostring()都显示的还是空值.