没有数据库绑定的DropDownList用<asp:dropdownlist id="ddlist" runat="server">
<asp:ListItem Value="1">公司新闻</asp:ListItem>
<asp:ListItem Value="2">行业动态</asp:ListItem>
<asp:ListItem Value="3">招聘信息</asp:ListItem>
</asp:dropdownlist>ddlist.SelectedItem.Value   可以得到正确值,选什么value的值就是什么.
为什么数据库绑定后的DropDownList ddlist.DataSource=ds;
ddlist.DataTextField="name";
ddlist.DataValueField="id";
ddlist.DataBind();ddlist.SelectedItem.Value  得到的值总是第一个的值,如总是招聘信息的值3

解决方案 »

  1.   

    给个列子给你就知道了!
    if(!IsPostBack)
    {
             con.open();
    strSQL = "select ID,urealname from MIS_Users ";
    adp = new SqlDataAdapter(strSQL,con.myConnection);
    ds=new DataSet();
    adp.Fill(ds);
    DataView dvTree = new DataView(ds.Tables[0]);
    //放入列表
    UserID.Items.Clear();
    ListItem emptyItem=new ListItem();
    emptyItem.Text="";
    emptyItem.Value="";
    UserID.Items.Add(emptyItem);
    foreach(DataRowView Row in dvTree) 
    {
    ListItem newItem=new ListItem();
    newItem.Text=Row["urealname"].ToString();
    newItem.Value=Row["ID"].ToString();
    UserID.Items.Add(newItem);
    }
    con.Close();
    }
    if(UserID.SelectedValue!="")//获取选中的值!
    {
    sUserID=UserID.SelectedValue;
    }
      

  2.   

    将下拉框的 属性 autopostback  设为ture 试试
      

  3.   

    pkkfaii(火柴头) ( ) 信誉:100    Blog 
    将下拉框的 属性 autopostback  设为ture 试试
    不行啊.
      

  4.   

    如下绑定数据
    if(!Page.IsPostBack)
    {
    //....建立ds
    ddlist.DataSource=ds;
    ddlist.DataTextField="name";
    ddlist.DataValueField="id";
    ddlist.DataBind();
    }
      

  5.   

    luckyprg(lucky) ( ) 信誉:100 星星就是星星.说的又准又清楚
      

  6.   

    if(!this.IsPostBack)
    {
       //进行绑定的代码..
    }!this.IsPostBack表示的是第一次加载时进行绑定...如果不加句,那么每次提交时,会先调用page_load事件,重新绑定,从而导致每次取到的Value都是第一个的...